我上了一堂课"朋友"
public class Friend
{
[Key , Column(Order = 0)]
public string MeID { get; set; }
public ApplicationUser Me { get; set; }
[Key, Column(Order = 1)]
public string MyFriendID { get; set; }
public ApplicationUser MyFriend { get; set; }
public bool isFavorite { get; set; }
}
创建数据库时,它会添加一个额外的列" ApplicationUser_Id" ,任何人都有合理的解释,为什么这样做?
对不起,如果这是初学者的问题。
提前感谢。
答案 0 :(得分:1)
这是一个关系栏。 Friend
有一个ApplicationUser
。因此,要实现该关系,数据库表Friend
必须具有外键ApplicationUser_Id
,它是类型ApplicationUser
的主键。
要删除该列,您可以使用[NotMapped]
属性:
[NotMapped]
public ApplicationUser MyFriend { get; set; }
答案 1 :(得分:0)
将WebElement
属性添加到[ForeignKey("MyFriendID")]
属性,将MyFriend
添加到[ForeignKey("MeID")]
属性
如果您使用C#6,则可以使用Me
而不是硬编码字符串“MyFriendID”(由@TGlatzer建议)