[英]LINQ to Entities - DISTINCT on one column
有没有办法用Linq to Entities(或实体SQL,或方法语法,或任何其他方式)编写以下查询,但我想通过Linq to Entities实现它:
SELECT DISTINCT Column1
FROM Table1
我正在使用Entity Framework 4.当然我不想使用Distinct方法在从数据库中提取数据后过滤数据。
谢谢你,帕维尔
使用类似的东西
db.Table1.Select(t => t.Column1).Distinct()
正如Munim在他的评论中提到的,Distinct()方法确实将DISTINCT添加到查询中。 因此产生的SQL查询将是
SELECT [Distinct1].[Column1] AS [Column1]
FROM ( SELECT DISTINCT
[Extent1].[Column1] AS [Column1]
FROM [dbo].[Table1] AS [Extent1]
) AS [Distinct1]
对于distinct by列,请使用此扩展名:
public static IEnumerable<T> DistinctBy<T, TKey>(this IEnumerable<T> items, Func<T, TKey> property)
{
return items.GroupBy(property).Select(x => x.First());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.