C#Entity Framework外键属性被忽略

时间:2017-06-21 11:51:28

标签: c# .net entity-framework

我有“用户”和“产品”实体,产品具有用户的外键(UserId - > User)。我试图在产品实体中向用户添加一个外键,但是错误的迁移

我更新的产品实体(示例)

N

自动创建迁移:

    [ForeignKey("User")]
    public int? UserId { get; set; }
    [ForeignKey("AcceptedBy")]
    public int? AcceptedById { get; set; }       
    [ForeignKey("AcceptedById")]
    public User AcceptedBy { get; set; }
    [ForeignKey("UserId")]
    public User User { get; set; }

所以我的UserId属性被忽略了

2 个答案:

答案 0 :(得分:0)

我认为您需要处理许多ForeignKey数据注释。

public int? UserId { get; set; }
[ForeignKey("UserId")]
public User User { get; set; }

public int? AcceptedById { get; set; }       
[ForeignKey("AcceptedById")] 
public User AcceptedBy { get; set; }

答案 1 :(得分:0)

您可以使用流利的API,例如:

modelBuilder.Entity<Product>()
   .HasOptional(h => h.User)
   .WithMany()
   .HasForeignKey(fk => fk.UserId);