null 可能なオブジェクトを取る List クラスの List クラスの Contains メソッドのような拡張メソッドを作成したいと考えています。誰かがこれで私を助けることができますか?
質問する
620 次
1 に答える
1
他の回答に対するコメントから、次のようなことをしようとしているようです
var myWantedIds = new List<int> { 1, 2, 3 };
var matchingItems = myEntityFrameworkItems
.Where(efItem => myWantedIds.Contains(efItem.NullableIdProperty));
のオーバーロードを記述しContains
ても、SQL に変換できないため、ここでは役に立ちません。
リストにnull以外のIDが含まれているかどうかを確認してください。
var myWantedIds = new List<int> { 1, 2, 3 };
var matchingItems = myEntityFrameworkItems
.Where(efItem => efItem.NullableIdProperty.HasValue &&
myWantedIds.Contains(efItem.NullableIdProperty.Value));
それも変換されない場合は、検索リストを null 許容バージョンに変換することもできます。
var myWantedIds = new List<int> { 1, 2, 3 };
var myNullableIds = myWantedIds.Select(i => new int?(i)).ToList();
var matchingItems = myEntityFrameworkItems
.Where(efItem => myNullableIds.Contains(efItem.NullableIdProperty));
于 2013-06-11T11:17:28.680 に答える