LINQ to SQL选择表中的所有字段,但具有不同的列

问题描述:

我需要返回一个县的列表,但我需要筛选出重复的电话代码值。出于某种原因,我在语法上遇到了麻烦。任何人都可以告诉我如何做到这一点?我应该使用该组吗?LINQ to SQL选择表中的所有字段,但具有不同的列

如果您需要实际的实体,则Group by将起作用。

var query = db.Counties.GroupBy(c => new { c.CountyName, c.PhoneCode }) 
         .Select(g => g.FirstOrDefault()); 

或者,如果您构建的视图模型只需要数据,您可以使用Distinct。以下创建一个可用于填充模型的匿名类型。

var query = db.Counties.Select(c => new { c.CountyName, c.PhoneCode }) 
         .Distinct(); 
+1

太棒了,第一个做的正是我所需要的,但也很好地了解第二个选项。谢谢你的帮助! – Victor 2010-03-11 13:25:18

+0

我需要在一个实体的列上执行不同的操作时获取完整的实体。第一个选项是完美的。 – puddinman13 2014-08-13 17:48:43