外键mvc 4代码首先是c#

时间:2014-10-21 22:07:44

标签: c# asp.net-mvc

如何向模型添加外键(代码优先)

我有一个型号产品,它有一个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上有很多类似的问题,但都有不同的答案,但它们并不适合我。我真的希望有人有解决方案,或者能指出正确的方向并给出解释。

2 个答案:

答案 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;}

}