如何将 'System.Linq.IQueryable<System.Collections.Generic.ICollection<ApplicationUser>> 转换为 IList<ApplicationUser>?

How can I convert a 'System.Linq.IQueryable<System.Collections.Generic.ICollection<ApplicationUser>> to IList<ApplicationUser>?

在我的项目中,我想显示项目中的用户列表。项目和用户在数据库中具有多对多关系。我通过

查询这些用户
var users = dbcontext.Projects.Select( u => u.Users);

这给了我一个类型为 IQueryable> 的对象,但是显示模型需要一种 IList 类型,我可以轻松地在视图页面上显示它。

请问我如何在两者之间转换或任何有用的建议。

您需要使用 SelectMany() 来展平列表并使用 ToList() 将其转换为列表:

var users = dbcontext.Projects.SelectMany( u => u.Users).ToList();