2

我正在使用 EF 并且有一个上下文,我可以使用 _inventoryContext.Items 从中获取 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是 aDataServiceQuery<Item>并且它的Carrier属性是一个字符串。

4

1 回答 1

7

您的示例应该有效,但这是您可以尝试的另一种方法

List<string> carriers = _inventoryContext.Items.GroupBy(i => i.Carrier)
                                               .Select(i => i.Key)
                                               .ToList();
于 2012-04-26T18:08:22.510 回答