ASP.NET Identity UserID主键是外键和自定义表中的主键

时间:2019-04-30 22:49:33

标签: c# asp.net entity-framework asp.net-identity

我正在使用AspNetIdentity表,并且具有用于客户配置文件的自定义表。我希望Customer Profile表的键与AspnetUser表的键相同。这可能吗?

我希望AspNetUser表中的一列strUserID成为Customer Profile表的主键和外键。但是我得到一个错误

  

EntityType'CustomerProfile'没有定义键。定义此EntityType的键。

代码:

    [Column("strCustomerAddress")]
    [Required(ErrorMessage = "Please enter customer's address.")]
    public string Address { get; set; }

    [Column("strCustomerName")]
    [Required(ErrorMessage = "Please enter customer's name.")]
    public string Name { get; set; }

    [Key]
    [ForeignKey("strUserID")]
    public ApplicationUser User { get; set; }
    public string strUserID { get; set; }

1 个答案:

答案 0 :(得分:0)

问题是您的[Key]属性位于导航属性上而不是ForeignKey上。因此,如下所示编写您的strUserID

[Key]
[ForeignKey("User")]
public string strUserID { get; set; }

public ApplicationUser User { get; set; }

现在可以正常工作了!