[英]Entity Framework doesn't generate all tables from database
表ListSuiteQuestion
由sql自动创建,因为在sql
我们没有所谓的many to many relationship (m:n)
而sql创建了另一个表以实现m:n关系,其中键包含两个关系表的主键也是两个关系表的名称组合的名称。 在您的实体框架内,通过另一个表访问每个表,您就可以访问该表,因此无需通过实体框架对其进行定义。 但是,如果您打算自定义字段或将字段添加到第三个表,则可以将其手动构建到代码中,然后显示它的实体框架,尽管这不是必需的。
如果要在代码中手动创建它,请执行以下操作:
public class Suite
{
//another property
public int IdSuite { get; set; }
public virtual ICollection<SuitQuestions> Questions { get; set; }
}
public class Question
{
//another property
public int IdQuestion { get; set; }
public virtual ICollection<SuitQuestions> Suites { get; set; }
}
public class SuiteQuestions
{
public Suite Suite { get; set; }
public int IdSuite { get; set; }
public Question Question { get; set; }
public int IdQuestion { get; set; }
//add custome property if you need
}
并配置它。
这是正确的。 一个问题有一个套房列表,而一个套房有一个问题列表。 如果您这样做:
var suite = context.Suites.Find(5);
var question = context.Questions.Find(30);
suite.Questions.Add(question);
// And update this suite object here;
您将在ListSuiteQuestion表中看到一个新记录,其中IdSuite = 5且IdQuestion =30。不需要创建类ListSuiteQuestion。 但是,如果您确实要创建类,则必须将ID作为主键添加到Table ListSuiteQuestion中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.