0
ここでは私の一般的なリポジトリクラスのメソッドです:式リスト<T> .Select(と機能))(含まれてい
public IEnumerable<T> GetBy(Expression<Func<T, bool>> condition)
{
return Context.Set<T>().Where(condition).ToList();
}
そして、私は好きで、それを呼び出すようにしたい:
resultCandidate = _repo.GetBy(p => members.Select(s=>s.MemberID).Contains(p.CandidateMemberID)).ToList();
しかし、ときに私がしてみてください"StateInfo
の定数値を作成できません。プリミティブ型または列挙型のみがこのコンテキストでサポートされています。"
私はそのようなメソッドを呼び出す必要があります。そして、私はcondition.Compile()
を試してみましたが、うまくいきました。これは、SQLクエリを生成するときにwhere節を取得しないためです。
注:メンバーがあなたの方法でokですList<MemberInfo>
おかげ
はい@IvanStoevは動作します。しかし、私は大きなプロジェクトと私はそれのすべての部分を行うことはできませんので、メソッドで使用する必要があります。それは私が書いたようなはずです – Burcay
残念ながら、現在のEF要件で動作させる方法は他にありません。 –
表現条件は何ですか? 'condition.Compile()'を使用すると実際に動作しますが、私が言ったようにwhere節でコードを生成するのではなく、選択するだけです。 – Burcay