jaf*_*ffa 28 linq entity-framework
我有以下查询:
public IEnumerable<Team> GetAllTeamsWithMembers(int ownerUserId)
{
return _ctx.Teams
.Include(x => x.TeamMembers)
.Where(x => x.UserId == ownerUserId)
.OrderBy(x => x.Name).ToList();
}
Run Code Online (Sandbox Code Playgroud)
我如何按照他们的名字订购团队,然后按照他们的名字对每个团队的所有子成员进行排序?
似乎这样做我需要创建一个新的DTO类并使用select.我想使用已经创建的EF实体,在这种情况下,Team具有成员的导航属性.我IEnumerable<Team>
从我的存储库层返回.
在EF中似乎没有一种简洁的方式来订购子集合.有人可以帮忙吗?
Wou*_*ort 24
加载后,您可以加载数据并在内存中排序.
IEnumerable<Team> teams = _ctx.Teams
.Include(x => x.TeamMembers)
.Include(x => x.TeamMembers.Select(u => u.User))
.Where(x => x.UserId == ownerUserId)
.OrderBy(x => x.Name).ToList();
foreach (var team in teams)
{
team.TeamMembers = team.TeamMembers.OrderBy(m => m.Name);
foreach (var teamMember in team.TeamMembers)
{
teamMember.Users = teamMember.Users.OrderBy(u => u.Name);
}
}
Run Code Online (Sandbox Code Playgroud)
或者您可以使用预测并使用EF的更改跟踪来对您的集合进行排序.以下是过滤Include 的示例,但订购的相同功能.
归档时间: |
|
查看次数: |
23955 次 |
最近记录: |