DbContext/DbSet/DbQueryを使用して、条件付きで欲しいナビゲーションプロパティを読み込むことは可能ですか?以下のクエリは、特定の役割を持つ関係者を返します。EFコード先頭4.3条件付きロードナビゲーションプロパティ
私が必要とするのは、さらに一致する役割だけを追加することです。
最初の試み
var peopleWithRole = (from p in Party
from r in p.Roles
where r.RoleTypeId == 1
select p).Include(_ => _.Roles);
これは、すべてのロールをロードし、そしてあなたがそれを見たら、なぜそれは明らかです。
私はいくつかのことを試しました。それを行うためにオブジェクトクエリーをキャストして作成しなければならない場合、私は方法を理解できません。
第二の試み
var objectContext = ((IObjectContextAdapter)this).ObjectContext;
var set = objectContext.CreateObjectSet<Party>();
var result = (from p in set.Where("it.Roles.RoleTypeId == 1")
select p)
;
result.Dump();
イテレータは、次のように使用することはできませんか?
アイデア?
http://blogs.msdn.com/b/adonet/archive/2011/01/31/using-dbcontext-in-ef-feature-ctp5-part-6-loading-relatedentity.aspx – Jim