"Does not contain definition for"在 dbContext 中使用使用 .toTable() 方法创建的联结表时出错



我不知道我做错了什么。表"class1class2"没有被识别。(参见下面的代码)。我希望能够使用连接表

<<p> 上下文/strong>
 public class context: DbContext
{
  protected override void OnModelCreating(DbModelBuilder modelBuilder)
  {
  modelBuilder.Entity<class1>()
  .HasMany(c => c.listofclass2).WithMany(i => i.listofclass1)
  .Map(t => t.MapLeftKey("class1ID")
  .MapRightKey("class2ID")
  .ToTable("class1class2"));
  }
}

实现:

context db = new context();
var r= db.class1class2;    

class1class2在实现代码中不能被识别

无法识别,因为它不存在。以这种方式映射多对多关系时,连接表没有使用类。它是通过导航属性listOfClass2listOfClass1透明地处理的。

如果您想要访问连接表(这只有在连接表包含附加数据时才有用—不仅仅是外键),您必须为此创建一个类,并将两个一对多关系映射到这个新类。

最新更新