[英]many to many relationship adding items
我正在使用本网站建议的以下两个类: https : //www.entityframeworktutorial.net/code-first/configure-many-to-many-relationship-in-code-first.aspx
public class Barca
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int BarcaID { get; set; }
public virtual ICollection<Imbarco> Imbarco { get; set; }
public virtual Imbarco ImbarcoBase { get; set; }
}
public class Imbarco
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ImbarcoID { get; set; }
public virtual ICollection<Barca> Barche { get; set; }
public virtual ICollection<Barca> BaseBarche { get; set; }
}
我需要创建1到M的关系,为此我使用了这两个导航属性:
public virtual Imbarco ImbarcoBase { get; set; }
public virtual ICollection<Barca> BaseBarche { get; set; }
但我还需要一个M到M的关系,为此我用过:
public virtual ICollection<Imbarco> Imbarco { get; set; }
public virtual ICollection<Barca> Barche { get; set; }
当我尝试在M到M中添加新项目时,不会在数据库中创建桥接表,如上面报告的链接中所述,我尝试在VisualStudio中生成的edmx文件创建了0..1到M和M到0..1的关系而不是m到M.我做错了什么?
我会先修复你的模型。 我建议您使用流畅的api配置,但您可以尝试使用InverseProperty注释,以便EF建立正确的连接:
public class Imbarco
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ImbarcoID { get; set; }
[InverseProperty("Imbarco")]
public virtual ICollection<Barca> Barche { get; set; }
[InverseProperty("ImbarcoBase")]
public virtual ICollection<Barca> BaseBarche { get; set; }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.