使用dbContext中使用.toTable()方法创建的联结表时,“不包含”错误的定义

时间:2013-05-09 16:42:47

标签: asp.net-mvc-3 linq entity-framework

我不确定我在这里做错了什么。表" class1class2"没有得到承认。(见下面的代码)。我希望能够使用联结表

上下文

 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无法识别

1 个答案:

答案 0 :(得分:1)

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

如果您想要访问联结表(仅当联结表包含其他数据时才有用 - 不仅是外键),您必须为此创建一个类并映射两个一对多的关系。而不是。