问题描述
在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);
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册