号外号外: 原[图享网]更名为 码友网(codedefault.com) 啦,感谢大家一路上的陪伴与支持。代码的世界里,码友网与大家一起同行!

[Entity Framework].NET/C#应用程序编程开发中如何使用Entity Framework查询某个字段去重(distinct)后的数据?

Entity Framework 作者: Rector 237阅读 0评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

问题描述

SQL语句中,我们查询按某个字段去重的SQL语句用到的SQL关键字是DISTINCT,可能的去重查询语句可能为这样:

SELECT DISTINCT NAME FROM TestAddresses

那么,在.NET/C#的应用程序编程开发中,如何使用Entity Framework实现以上SQL语句相同的按某个字段去重的查询呢?

方案一

使用lambda表达式的Distinct()方法,如下:

var result = EFContext.TestAddresses.Select(m => m.Name).Distinct();

方案二

使用linq查询后,使用lambda表达式的Distinct()方法,如下:

var results = (from ta in context.TestAddresses
               select ta.Name).Distinct();

results返回的是一个IEnumerable<string>

方案三

不使用Distinct()方法,而使用GroupBy()分组方法,如下:

var result = EFContext.TestAddresses
    .GroupBy(ta => ta.Name)
    .Select(ta => ta.Key);

阅读了该文章的人还浏览了...

本文永久链接码友网 » [Entity Framework].NET/C#应用程序编程开发中如何使用Entity Framework查询某个字段去重(distinct)后的数据?

发布于: 2018-06-21 09:32:11
分享扩散: