Asp.net core 在EF Core中填充许多导航属性
我不确定如何定义Include(…)。然后在多->多关系的上下文中定义Include(…) 这是填充nav属性,是链接Asp.net core 在EF Core中填充许多导航属性,asp.net-core,entity-framework-core,Asp.net Core,Entity Framework Core,我不确定如何定义Include(…)。然后在多->多关系的上下文中定义Include(…) 这是填充nav属性,是链接 var site = this._dbContext.Sites.Include(x => x.SiteEducators).FirstOrDefault(); 根据文档定义 public DbSet<Educator> Educators { get; set; } public DbSet<Site> Sites { get;
var site = this._dbContext.Sites.Include(x => x.SiteEducators).FirstOrDefault();
根据文档定义
public DbSet<Educator> Educators { get; set; }
public DbSet<Site> Sites { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
#region Site->Educator Link
modelBuilder.Entity<SiteEducator>()
.HasKey(t => new { t.SiteId, t.EducatorId });
modelBuilder.Entity<SiteEducator>()
.HasOne(pt => pt.Site)
.WithMany(p => p.SiteEducators)
.HasForeignKey(pt => pt.SiteId);
modelBuilder.Entity<SiteEducator>()
.HasOne(pt => pt.Educator)
.WithMany(t => t.SiteEducators)
.HasForeignKey(pt => pt.EducatorId);
#endregion
}
这将返回一个值
model.SiteEducators.FirstOrDefault().EducatorId
举例说明我的意思:
数组上必须有某种“thenclude”吗
我该如何充实另一个对象,synatax是什么,有什么想法吗
任何帮助都会很好,thx伙计们:)好吧,看来这是一系列git问题,以下是修复: 1) 在ApplicationDbContext中映射链接表对象
public DbSet<SiteEducator> SiteEducator { get; set; }
问题是文档遗漏了映射链接表的重要部分,没有这一点,似乎就没有办法加载列表中的嵌套对象。你能把模型代码也放进去吗?当然,我在手机上,真的不能。。。但这是直接从文件中说出来的。文档只是没有说明如何填充数据:/
public DbSet<SiteEducator> SiteEducator { get; set; }
var site = this._dbContext.Sites
.Include(x => x.SiteEducators)
.Include(x => x.Studies)
.FirstOrDefault(x => x.SupervisorToken == key);
//Dummy query to load the data
this._dbContext.SiteEducator.Include(x => x.Educator).Where(x => x.SiteId == site.Id).Load();