可能性の重複:C#でLINQを使用して
'Contains()' workaround using Linq to Entities?が含まれています()
、私は次のような問題を持っています。
私は3つの条件を用いて、大きなテーブルから行を選択する必要があります。 を - 「schooljaarは」前に設定した値、である必要があり、 - 「p_bamatypeは」(設定で定義されたリスト内の値ではないことが必要ですこれは、StringCollection) ある - 「p_stdgeb」は設定で定義されたリストでない値にする必要がある(これもStringCollectionです)
私はこのコードを持っている:
var set = (db.SA_Opleiding.Where(opleiding => opleiding.schooljaar == schooljaar
&&
!Properties.Settings.Default.Admin_Studiegebieden_Exclude.Cast
<string>().ToList().Contains(
opleiding.p_stdgeb.ToString())
&&
!Properties.Settings.Default.Admin_Studietypes_Exclude.Cast
<string>().ToList().Contains(
opleiding.p_bamatype.ToString()))
.Select(opleiding => new OpleidingModel()
{
Id = opleiding.p_opleiding,
LanNames =
new Dictionary
<string, string>()
{
{
"NL",
opleiding.
opleidingNL
},
{
"FR",
opleiding.
opleidingFR
},
{
"EN",
opleiding.
opleidingEN
}
}
}))
.ToList<OpleidingModel>();
return set;
はしかし、LINQは、変換失敗しますContainsメソッド。私は同じ問題を抱えている他の人について読んでいますが、私はこれに対してまともな解決策を見つけることができません。実際に説明されている問題の解決策はありますか?だから、私が正確に必要なのは、LINQに相当するNOT IN(文字列のコレクション)です。
で[ここです](http://stackoverflow.com/questions/88473/how-to-do-a-where-in-values-in-linq 〜エンティティ-3〜5)。 –