我正在使用EF并且有一个上下文,我可以使用_inventoryContext.Items从中获取Item对象的集合。现在,这些item对象具有一个名为Carrier的字符串值。假设Items集合中有5个项目,它们具有这些Carrier值:
"A", "A", "B", "C", "C"
如何使用_inventoryContext.Items获取唯一的载波值?
"A", "B", "C"
请注意
var carriers = _inventoryContext.Items.Select(i => i.Carrier).Distinct();
不起作用;我得到“不支持方法'Distinct'”没有内部异常。
我正在使用SQL Server 2008 Express。 Items
是DataServiceQuery<Item>
,其Carrier
属性是字符串。
答案 0 :(得分:7)
您的示例应该有效,但这是您可以尝试的另一种方式
List<string> carriers = _inventoryContext.Items.GroupBy(i => i.Carrier)
.Select(i => i.Key)
.ToList();