如何向模型添加外键(代码优先)
我有一个型号产品,它有一个ID(主键)我想添加到我的模型订单中。
public class Order
{
public int ID {get; set;}
[Required]
public int Total {get; set;}
[Required]
public int ProductId{get; set;}
}
但是我如何让ProductId像外键一样引用我的Product模型的id? 在Stackoverflow上有很多类似的问题,但都有不同的答案,但它们并不适合我。我真的希望有人有解决方案,或者能指出正确的方向并给出解释。
答案 0 :(得分:1)
您需要添加导航属性:
public virtual Product Product { get; set; }
所以Order类看起来像这样:
public class Order
{
public int ID {get; set;}
[Required]
public int Total {get; set;}
[Required]
public int ProductId{get; set;}
[Required]
public virtual Product Product { get; set; }
}
另外,严格来说,一旦拥有虚拟产品属性,就不需要ProductId
属性。
答案 1 :(得分:1)
你可以这样做:
public class Order
{
public int ID {get; set;}
[Required]
public int Total {get; set;}
[Required]
public int ProductId{get; set;}
[ForeignKey("ProductId")]
public virtual Product Product {get; set;}
}