0

Linqクエリで2つのEntityCollectionを比較することは可能ですか?

私はこの方法を試しました:

from t in _bdd.Table
where (idList).All(id=>  t.ids.Contains(id))
                         select i).FirstOrDefault()

ここで、idListとidsは両方ともEntityCollectionです。

しかし、私はNotSupportedExceptionを受け取りました:

"Unable to create a constant value of type (ID) Only primitive types ('such as Int32, String, and Guid') are supported in this context"

1つのLinqクエリで2つのリストを比較する方法はありませんか?

4

1 に答える 1

0

まず、例外は、where句のソースとしてローカルコレクション(idList)を使用することによって発生します。代わりに、右側に表示されるようにサイドを切り替えて、LINQメソッドの内部に表示されるようにする必要があります。

私はこれがクエリがあなたが望む結果を得るだろうと思います:

where t.ids.Count() == idList.Count() && t.ids.All(ids => idList.Contains(id))

また、「select i」の部分は、何を選択するかが明確ではありません。コードスニペットにiという名前の変数はありません。

于 2012-04-23T09:38:54.937 に答える