それぞれに関連する店頭IDのリストを含むユーザーのリストがあります。私は整数の別のリストを持っており、ユーザーの店頭IDが別のリストにある整数のどこに一致するかを見たいと思っています。Linqは、整数のリストに対して整数の子リストを交差させます。
私はこのような何かを期待している:
clientUsers = clientUsers.Where(x => x.Storefronts.Intersect(allowedStorefrontIds));
私は型引数がどこに拡張メソッドの使用状況から推測することはできません聞いています。
この場合、linqをどのように構成するべきかご存知ですか?私は効率のためにこのような何かをするだろう、個人的に
x => x.Storefronts.Intersect(allowedStorefrontIds).Any()
:
var allowedIds = new HashSet<int>(allowedStorefrontIds);
var allowedUsers = clientUsers.Where(x => x.StoreFronts.Any(allowedIds.Contains));
あなたの 'Where'句のラムダ式は真であると評価されなければならないと思います。 –