IDのリストを使用してEntity FrameworkからObjectResultを取得する方法

c# entity-framework

質問

Entity FrameworkからObjectResultを返すためのクエリ値として使用する必要があるHashSet of Identity値があります。

これがHashSetです。

HashSet<int> officeIds = new HashSet<int>();

これは、多かれ少なかれ実行しようとしているクエリです。

ObjectResult<FilingOffice> offices = ctx.FilingOffice.Where(office => office IN officeIds.ToList());

上記の "office => office IN officeIds.ToList()"の部分は私が仕事をすることができないもので、主キーのリストを与えられたオブジェクトを回収するためのWeb上のサンプルを見つけていません。

ctxはSystem.Data.Objects.ObjectContextです。

受け入れられた回答

LINQ 2エンティティでクライアント側とサーバー側の列挙を混在させることはできないため、他の人が挙げた例は今日のEntity Frameworkでは機能しません。

代わりに、手動でOR式を構築する必要があります。

私は一連のEFのヒントを実行し、 この ヒントではOR式を構築する方法を説明します。

お役に立てれば

アレックス


人気のある回答

私は何度も同じような問題を抱えていました、良い情報を持つ別のStack Overflow質問は次のとおりです。主キーで複数のエンティティを取得する最も効率的な方法

私は使うのが好きです:

var entities = db.Entities.WhereIn(x => x.Id, ids);


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ