return db.VideoCategories.Where(a => a.TypeId ==id).ToList();该如何解决
return db.VideoCategories.Where(a a.TypeId id).ToList()我照着别人的代码写,下边可以正常运行,但
return db.VideoCategories.Where(a => a.TypeId ==id).ToList();
我照着别人的代码写,下边可以正常运行,但是其中概率不清楚
db.VideoCategories.Where(a => a.TypeId ==id) 是一种什么类型?
为什么要ToList()?
/// <summary>
/// 返回一种类型(文章、文库、视频)(***我添加)
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static List<VideoCategories> GetOneType(int id)
{
using (var db = new WEBVODEntities())
{
return db.VideoCategories.Where(a => a.TypeId ==id).ToList();
}
}
[解决办法]LINQ里的一种表达方式,就是过滤集合里的条件
最后ToList是将集合转成List格式
[解决办法]你返回的是List<VideoCategories>
如果你返回IEnumerable<VideoCategories>就不需要ToList()
ToList()会立刻执行查询,将数据存入内存,和数据库脱离关系。
[解决办法]db.VideoCategories应该是System.Data.Linq.Table<VideoCategories>类型的,
不符合你函数定义的返回类型,所以要转换成List类型,而且linq会立即执行查询
[解决办法]var x = db.VideoCategories;
将光标指向x可以看到。
如果是ef,是IQueryable<VideoCategories>,否则可也能是IEnumerable<VideoCategories>。
[解决办法]你看下就知道了。