首页 / Entity Framework / 正文

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

4787 发布于: 2018-06-21 读完约需2分钟

问题描述

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快速删除指定表的所有数据记录?

下一篇: [Entity Framework].NET/C#应用程序编程开发中如何使用Entity Framework一次性更新满足查询条件的多行数据?

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

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册