0
List<System.Linq.Expressions.Expression<Func<MyType, bool>>> lstPredicates = new List<System.Linq.Expressions.Expression<Func<MyType, bool>>>();
foreach (MyType myAccount in lstMyType)
{
System.Linq.Expressions.Expression<Func<MyType, bool>> predicate =
t => t.Account == myAccount.Account && t.Branch == myAccount.Branch;
lstPredicates.Add(predicate);
}
lstTransactions = Context.MyTrans
.Where(lstPredicates)
.ToList();
私はMyTrans
テーブルで検索を実行しようとしています。そのため、述語のリストを作成しています。私は、アカウントと支店の組み合わせのいずれかがトランザクション内に存在するリストでトランザクションを取得したい。Entity Frameworkの述語のリストWhere節
すなわち、私はあなたがLinqkitライブラリを使用することができ
predicate = t =>
(t.Account == 123 && t.Branch == London)
|| (t.Account == 433 && t.Branch == Manchester)
||...
が、私は1つだけexpresionと.Contains()を使用して検討します。例Where(x => yourListOfIDs.Contains(x.Account) –