IEnumerable from a View c# MVC
本文关键字:MVC View from IEnumerable | 更新日期: 2023-09-27 17:55:27
我在SQL方面不是很有经验。 我正在使用SQL Server 2008和MVC3;在我的数据库中有一个简单的视图,尝试使用以下脚本制作列表:
List<vw_LearnerCourse> list = ctx.vw_LearnerCourses.Where(x => x.Course_ID == id).ToList().AsEnumerable();
我收到以下错误:
Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<vw_LearnerCourse>' to 'System.Collections.Generic.List<vw_LearnerCourse>'. An explicit conversion exists (are you missing a cast?)
将不胜感激。 提前谢谢。
在 IEnumerable 上调用 .ToList()
。
List<vw_LearnerCourse> list = ctx.vw_LearnerCourses.Where(x => x.Course_ID == id).ToList();
从文档中:
ToList(IEnumerable) 方法强制立即 查询计算并返回包含查询的列表 结果。您可以将此方法追加到查询中,以便获得 查询结果的缓存副本。
只需使用:
List<vw_LearnerCourse> list
= ctx.vw_LearnerCourses.Where(x => x.Course_ID == id).ToList();
您可以看到 List 定义为
[SerializableAttribute]
public class List<T> : IList<T>, ICollection<T>,
IList, ICollection, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>,
IEnumerable
默认情况下,列表是可枚举的。因此,如果您以 ToList() 结束语句,它可以正常工作。不需要 AsEnumerable()。
List<vw_LearnerCourse> list = ctx.vw_LearnerCourses.Where(x => x.Course_ID == id).ToList();