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は でDataServiceQuery<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 に答える