gpt4 book ai didi

entity-framework-4 - Entity Framework 多对多自引用

转载 作者:行者123 更新时间:2023-12-04 07:58:11 27 4
gpt4 key购买 nike

我有一个实体用户。每个用户应该有很多 friend 和老师。使用 EF Code First 我对如何实现我想要的东西有点困惑。我看到了自我引用的例子,但不是多对多。例如:

public class Employee
{
#region Properties

public int EmployeeID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }

public int? ManagerID { get; set; }
public Employee Manager { get; set; }

#endregion
}

和模型构建器:
modelBuilder.Entity<Employee>().
HasOptional(e => e.Manager).
WithMany().
HasForeignKey(m => m.ManagerID);

在我的情况下,如何创建具有自我引用的实体,其中有 friend (如果 a 是 b 的 friend ,这意味着 b 是 a 的 friend )和老师(如果 a 是 b 的老师,b 是 a 的学生)?

抱歉,如果已经存在类似的线程。
任何帮助是极大的赞赏。

最佳答案

好的,因为很多人都回答了这个问题 ;),我搜索了更多,找到了适合我的案例的解决方案。实体看起来像:

public class User
{
public int ID { get; set; }
public string UserName { get; set; }

public virtual ICollection<User> Friends { get; set; }
}

模型构建器:
modelBuilder.Entity<User>()
.HasMany(x => x.Friends)
.WithMany();

最后,我创建了辅助方法 BeFriend 和成为教师学生,确保当你与某人成为 friend 时,他与你成为 friend (以及师生各自的事情)。

关于entity-framework-4 - Entity Framework 多对多自引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9640000/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com