在模型中使用多对多时访问实体框架自动生成的第三个表
Posted
技术标签:
【中文标题】在模型中使用多对多时访问实体框架自动生成的第三个表【英文标题】:Accessing third table auto generated by entity framework when using many-to-many in models 【发布时间】:2022-01-06 07:58:33 【问题描述】:当在模型中定义多对多关系时,实体框架会自动创建第三个表。我可以在数据库中看到这个表,但我不确定如何访问它的数据。第三个表是ApplicationUserProject,定义了Projects和Users
之间的关系如何访问此表及其数据?提前致谢
第三个生成的表
【问题讨论】:
为什么需要访问此表?如果您真的需要,您必须定义将映射到此表的实体。文档中的所有内容Many-to-many UsingEntity 我希望使用 projectID 获取与特定项目相关联的所有用户。当我尝试使用 include()... 从 Project 表中检索所有用户作为列表时,该值只是返回为 null 所以我不确定如何执行这样的操作。认为访问第三张桌子最好@SvyatoslavDanyliv 【参考方案1】:在您的特定情况下,您不需要访问中间表。
var query = context.Users
.Where(u => u.Projects.Any(p => p.Id == projectId));
【讨论】:
非常感谢!你怎么知道这样查询表?希望了解更多以上是关于在模型中使用多对多时访问实体框架自动生成的第三个表的主要内容,如果未能解决你的问题,请参考以下文章