如何将 '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();
在我的项目中,我想显示项目中的用户列表。项目和用户在数据库中具有多对多关系。我通过
查询这些用户var users = dbcontext.Projects.Select( u => u.Users);
这给了我一个类型为 IQueryable> 的对象,但是显示模型需要一种 IList 类型,我可以轻松地在视图页面上显示它。
请问我如何在两者之间转换或任何有用的建议。
您需要使用 SelectMany()
来展平列表并使用 ToList()
将其转换为列表:
var users = dbcontext.Projects.SelectMany( u => u.Users).ToList();