【问题标题】:Linq Many-to-Many relationshipLinq 多对多关系
【发布时间】:2011-01-12 06:19:34
【问题描述】:

我的数据库中有 3 个表。 AdminGroup、AdminSection 和加入这两个 AdminAccess。 AdminGroup => AdminGroupId, AdminId AdminSection => AdminSectionId,代码,描述 AdminAccess => AdminSectionId, AdminGroupId

我需要获取给定 AdminId 的所有可用代码的列表。 这是我目前所拥有的:

this.AdminGroupRepository.List().Where(x => x.Admin.Any(y => y.AdminId == loginEntity.AdminId))

但这给了我一个 AdminGroups 列表,我只需要一个代码列表。

【问题讨论】:

  • AdminSection 和 AdminGroup 是什么关系,代码在哪里?您是在谈论 AdminSection 中的代码吗?

标签: asp.net-mvc linq many-to-many


【解决方案1】:

查看 Select 以将单个属性或多个属性提取到匿名对象中。

.Select(x => x.Code)

【讨论】:

  • x.Code 不可用。或者我什至从错误的存储库中选择。应该是 SectionRepository 吗? LinQ 会是什么样子?
【解决方案2】:

我是这样解决的:

            var loginRoles =
                this.AdminSectionRepository.List().Where(
                    x => x.AdminGroup.Any(y => y.Admin.Any(q => q.AdminId == loginEntity.AdminId))).Select(
                        q => q.Code);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多