我已经改变了我的两个模型Workplace
和Person
之间的一对多关系。实体框架已正确创建连接它们的表,它的名称为WorkplacePersons
,并且它也准确填充。当我尝试在工作场所显示人员列表时,我得到了例外:
System.Data.SqlClient.SqlException:无效的对象名称' dbo.PersonWorkplaces'
因此,出于某种原因,它正在寻找不存在的PersonWorkplaces
,而不是寻找WorkplacePersons
答案 0 :(得分:0)
您可以在OnModelCreating
:
DbContext
你需要告诉实体框架你想要映射的方式,因为它目前正在猜测并使表格错误。在OnModelCreating
中添加如下内容:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Workplace>()
.HasMany(x => x.Persons)
.WithMany(x => x.Workplaces)
.Map(c =>
{
c.MapLeftKey("WorkplaceId");
c.MapRightKey("PersonId");
c.ToTable("WorkplacePersons");
});
}