gpt4 book ai didi

c# - Entity Framework - 链接到表中的所有项目,然后添加一个新项目?

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:36 26 4
gpt4 key购买 nike

我有 2 个简单的 C# 对象(用户和部门)如下(首先使用 EF 代码):

public class User
{
int UserID {get; set;}
string Name {get; set;}
List<Department> Departments {get; set;}
}

public class Department
{
int DepartmentID {get; set;}
string Name {get; set;}
List<User> Users {get;set}
}

我可以创建一个用户并向其添加多个部门,一切都很棒。

我想做的是将用户设置为连接到“所有部门”。

现在虽然我可以将所有部门添加到一个用户,但如果稍后我添加一个新部门,我将不得不记住将它也添加到该用户 - 不太理想。

我最初的想法(正确或错误)是为用户添加一个 bool 型 AllDepartments 属性。但是,尽管我可以使它工作,但它一点也不干净。我必须记得在每次调用用户时检查该 bool 值,并将部门列表构建为单独的查询(因此它在数据库中也不是真正的关系)。

我的理想是创建一个全新的部门,并且在检索该部门时,它应该已经拥有所有应该连接到所有部门的用户,可以通过 List 属性进行导航。

有没有人遇到过这个问题并彻底解决了这个问题?

最佳答案

面对同样的问题,我使用了一个 departmentGroup 表,每个部门至少属于一个组。

  • 然后用户属于部门组(不再属于部门)。
  • 然后我有一个业务规则,将每个新部门添加到“所有部门组”

所有解决方案都各有利弊。该解决方案的主要缺点(恕我直言)是属于所有部门的用户自动属于一个新的绝密部门。你确定这是你想要的吗?

关于c# - Entity Framework - 链接到表中的所有项目,然后添加一个新项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28675829/

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