【发布时间】:2020-04-01 16:03:52
【问题描述】:
我正在尝试制作一个仅处理一个模型的正确 join 表,我计划为此表设置 CRUD 页面,以便稍后使用,因此我相信它不能成为原始模型的一部分.
public class Person
{
[Key]
public int PersonID { get; set;}
public string Firstname { get; set;}
public string LastName { get; set;}
public string Birthday { get; set;}
}
现在我想跟踪人们、他们最好的朋友以及他们最好的朋友的生日。
public class Friends
{
[Key]
public int FriendshipID {get; set;}
[ForeignKey("Person")]
public Person SelectedPerson {get; set;}
public int SelectedPersonID {get; set;}
[ForeignKey("Person")]
public Person Friend {get; set;}
public int FriendID {get; set;}
}
这有一些问题,我不完全知道[ForeignKey("xxxx")] 是如何工作的,但这似乎会导致错误。一个人可能有多个最好的朋友,所以我必须在朋友表中有很多条目,其中SelectedPerson 将是相同的,以便获得他们所有最好的朋友,我觉得如果有一个好方法一次获取他们的朋友列表,而不仅仅是一个单一的朋友,这将有优势,但似乎会导致某种级联删除错误?
我知道在 stackoverflow 上存在与此类似的问题,但我找不到任何将它加入同一个表的地方,我目前已将 ForeignKeys 注释掉,因为 EF 无法处理同名的外键。
非常感谢任何帮助/建议,感谢您的宝贵时间。
【问题讨论】:
标签: c# asp.net asp.net-mvc entity-framework