Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架代码优先-无集合的多对多_C#_Entity Framework_Collections_Many To Many - Fatal编程技术网

C# 实体框架代码优先-无集合的多对多

C# 实体框架代码优先-无集合的多对多,c#,entity-framework,collections,many-to-many,C#,Entity Framework,Collections,Many To Many,我首先开始处理EF代码中的一些多对多关系,发现我不喜欢在实体上有集合。我更希望在我的存储库中处理多对多关系,这样我就可以执行类似于repository.GetUsersForOrganization(organization)的操作。我主要关心的是不公开实体上的集合,而让存储库中的一些方法处理与多对多关系有关的所有事情,包括获取、添加和删除关系。我对删除集合并用基于存储库的方法替换它的最佳方法感到非常困惑。其他人是如何做到这一点的?如果您不想在实体上拥有多对多关系的导航属性,您将不映射这些多对多

我首先开始处理EF代码中的一些多对多关系,发现我不喜欢在实体上有集合。我更希望在我的存储库中处理多对多关系,这样我就可以执行类似于
repository.GetUsersForOrganization(organization)
的操作。我主要关心的是不公开实体上的集合,而让存储库中的一些方法处理与多对多关系有关的所有事情,包括获取、添加和删除关系。我对删除集合并用基于存储库的方法替换它的最佳方法感到非常困惑。其他人是如何做到这一点的?

如果您不想在实体上拥有多对多关系的导航属性,您将不映射这些多对多关系,而是将多对多关系的连接表映射为单独的实体,并直接在中的专用方法中访问它们存储库

我能问你为什么不喜欢收藏吗?再加上延迟加载,User.Organizations和Organizations.Users会很好地工作。这是一个我完全忽略的正确而明显的答案。试图从数据库中抽象出来让我一时忘记了数据库实际上是有效的。谢谢你的提示,我想我要尝试一下这个方法,看看效果如何!