工作示例
class Product
{
public int Id { get; set; }
public string Name { get; set; }
}
class Color
{
public int Id { get; set; }
public string Name { get; set; }
}
class ProductColor
{
public int Id { get; set; }
[ForeignKey("ProductId")]
public Product Product { get; set; }
public int ProductId { get; set; }
[ForeignKey("ColorId")]
public Color Color { get; set; }
public int ColorId { get; set; }
}
添加并应用迁移后,当我添加到ProductColors的产品列表时,不会更改实体上下文(无需添加和应用新迁移)
class Product
{
...
public virtual ICollection<ProductColor> ProductColors { get; set; }
}
这没关系。
不工作示例
但是如果需要将产品引用到产品中,产品中的名单如何?例如
class ProductForm
{
public int Id { get; set; }
[ForeignKey("ProductId")]
public Product Product { get; set; }
public int ProductId { get; set; }
[ForeignKey("FormId")]
public Product Form { get; set; }
public int FormId { get; set; }
public ProductType ProductType { get; set; }
}
当我尝试添加列表
时class Product
{
...
public virtual ICollection<ProductForm> ProductForms { get;set;}
}
这将改变实体上下文。这是错误的。
感谢。