EF Core:包含多个级别的 m:n 关系

问题描述 投票:0回答:1

我有以下表格。

一个用途是多个角色的成员,一个角色可以有多个用例。

在我的用户实体中,我需要用户有权访问的不同用例列表。

public class AppConfigUser
{
    public int Id { get; set; }
    public string? FirstName { get; set; }

    public List<UseCase> UseCases { get; set; } // <= distinct list from m:n relations
}

是否可以以一种可以简单查询包括用例的用户实体的方式配置实体?

var users = _dbContext.Users.Include(_ => _.UseCases);
c# entity-framework entity-framework-core
1个回答
0
投票

你应该编写查询,只是

Include
会加载大量数据:

var useCases = 
    from u in _dbContext.Users
    from r in u.Roles
    from uc in r.UseCases
    where u.UserId == userId
    select uc;

useCases = useCases.Distinct();
© www.soinside.com 2019 - 2024. All rights reserved.