如何在SqlToEntity中选择集合而不是集合的集合

本文关键字:集合 选择 SqlToEntity | 更新日期: 2023-09-27 18:13:42

假设您有一个Role类,并且每个Role都有一个Users集合。我想选择指定集合中的所有用户。我:

DataContext.Roles.Where(r=>r==r1||r==r2).Select(r=>r.Users);

但是它返回的是User对象集合的集合,而我想要一个简单的User对象集合。我怎么做呢?

如何在SqlToEntity中选择集合而不是集合的集合

假设您只是想使结果平坦,听起来您想要SelectMany:

DataContext.Roles
           .Where(r => r == r1 || r == r2)
           .SelectMany(r => r.Users);

这相当于(在影响上,不是完全是展开):

from r in DataContext.Roles
where r == r1 || r == r2
from user in r.Users
select user;