实体框架 - 在导航性能
问题描述:
加载某些行我有类实体框架 - 在导航性能
Address
PeopleAddress //join table with a column called current
People // my main table, with a IList<PeopleAddress>
modelBuilder.Entity<People>()
.HasMany<PeopleAddress>(m => m.CurrentAddresses)
.WithRequired()
.HasForeignKey(m => m.PeopleId);
我(总是)想要只载入PeopleAddress在人们那里PeopleAddress.Current == 1 行与PeopleAddress.Current = = 0对于应用程序不是必需的。 我该如何做到这一点?这可能吗?谢谢。
PS:我不能没有使用Include
的上下文是在很多地方被实例化,我需要做的是在OnModelCreating(DbModelBuilder modelBuilder)
答
对于这个工作延迟加载应禁用给你完全控制哪些数据是加载。
在PeopleAddress表上执行查询,并确保通过PeopleAddress中的导航属性加载人员数据。
public virtual People People { get; set; }
PeopleAddress.Include(pa => pa.People).Where(pa => pa.Current == 1)
答
试试吧
context.People.Include("PeopleAddress")
.Select(t=> new { t,
PeopleAddress= t.PeopleAddress
.Where(p=>p.Current==1)});