有没有办法用Linq to Entities(或实体SQL,或方法语法,或任何其他方式)编写以下查询,但我想通过Linq to Entities实现它:

SELECT DISTINCT Column1
FROM Table1

我正在使用Entity Framework 4.当然我不想使用Distinct方法在从数据库中提取数据后过滤数据。

谢谢你,帕维尔

===============>>#1 票数:10 已采纳

使用类似的东西

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]

===============>>#2 票数:1

对于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());
}

  ask by dragonfly translate from so

未解决问题?本站智能推荐:

2回复

Linq To实体可选区

早些时候,我对Stackoverflow提出了一个问题,即如何根据每个对象内的特定属性删除对象列表中的重复记录 。 我得到了我一直在寻找的答案(见下文),该查询 使用MainHeadingID作为属性来删除重复项 , 从而返回对象的不同列表 。 但是,现在我需要更多帮助! 无论如
1回复

LINQ组由一列组成

我有一个如下所示的数据库表: 所以我想按ID对所有内容进行分组,因此每个ID都有多个USERIDs 。 但是DATE和NAME都是一样的。 那么如何将其作为linq查询呢? 到目前为止,我想到了这样做,这对用户来说很有用 但是,如果我添加其他项目(如DATE这不起作用,
1回复

如何从linq到Entities查询中获取列元数据?

我需要支持旧版客户端并通过Linq查询组成ADO数据集。 问题是如何获取无法通过反射获得的特定列信息(varchar长度,十进制精度等)。 例如,我有表Customer ,其字段名称为varchar(80) 当我从linq到实体查询中获取数据时: 我无法获取列data[i]
2回复

LINQ to Entities搜索多列,按匹配列的总权重排序

我正在实现一个搜索算法,我需要一种方法来搜索多列的数据库。 然后,该算法将返回“最佳匹配”。 例如,假设我有一个实体: 我的搜索方法需要接受对姓名,年龄和标题的搜索,并且在可以进行任何组合的情况下,所有搜索都是可选的 。 所有字段都有权重,我将在代码中进行微调以获得更好的结果。
1回复

使用LINQ基于另一列的值选择列

我的问题类似于这里的问题: 根据另一列的值选择一个特定的列,但在LINQ中,使用VS2010,C#,。NET 4.0和LINQ to Entities 这是我遇到问题的片段: ExecuteDataSet命令抛出InvalidCastException并显示以下消息: 无
2回复

向Linq to Entities查询添加随机Guid列以获取随机记录

我已经找到了一些有关使用RandomView视图和GetNewID函数来拉回随机记录的文章,但是他们将这种方法与Linq to SQL结合使用,从而允许使用函数和存储的Procs而没有返回值或标量返回值。 据我了解,存储过程必须作为我生成的模型中的实体框架对象之一返回。 我已经能够使它作为对
3回复

多列实体框架LINQ的区别

什么是LINQ等价物 我正在尝试这样的事情:
3回复

LINQ to Entities和很多很多

编辑最新的问题/关注 我正在使用EF1并尝试执行以下操作,但我的多对多关系存在问题。 我有BuildExpression扩展方法可以解决.Contains()在EF1中不可用。 PagingUsers&Groups具有多对多关系。 到目前为止,这是我的工作。 现在我想
1回复

LINQ to Entities这样慢吗?

我在上下文(内存)中有实体,因为我用Include()s加载了它们。 我大约有25个实体(tph),并且我在每个实体上运行以下查询: TrainingProgramHistory_ConditionAndLoadParameter和TrainingProgramHistory_Co
2回复

LINQ to Entities中的LastIndexOf

我正在使用LINQ to Entities从MSSQL数据库中获取元素,我需要它们按字符串的最后一个索引排序: 但是,LINQ to Entities不支持LastIndexOf 。 我试过寻找类似的问题,但我发现的只是这个并没有解决我的问题(订购)。 在MSDN上搜索没有产生任何结