外键mvc 4代码第一个c#

本文关键字:第一个 代码 mvc 外键 | 更新日期: 2023-09-27 18:27:31

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

我有一个模型产品,它有一个ID(主键),我想把它添加到我的模型订单中。

public class Order
{
 public int ID {get; set;}
 [Required]
 public int Total {get; set;}    
 [Required]
 public int ProductId{get; set;}
}

但是我如何使ProductId像外键一样引用我的产品模型的id呢?在Stackoverflow上有很多相似的问题,但都有不同的答案,但它们对我不起作用。我真的希望有人能找到解决方案,或者能给我一个正确的解释。

外键mvc 4代码第一个c#

您需要添加一个导航属性:

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

此外,严格地说,一旦拥有了虚拟Product属性,就不需要ProductId属性。

您可以这样做:

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