LINQ里的一种表达方式,就是过滤集合里的条件
最后ToList是将集合转成List格式

解决方案 »

  1.   

    你返回的是List<VideoCategories>
    如果你返回IEnumerable<VideoCategories>就不需要ToList()ToList()会立刻执行查询,将数据存入内存,和数据库脱离关系。
      

  2.   


    db.VideoCategories.Where(a => a.TypeId ==id) 里边的lambda表达式我知道,db.VideoCategories属于List<>类型吗?  where以后又属于什么类型?
      

  3.   


    db.VideoCategories属于List<>类型吗?  是不是where以后,就变成IEnumerable<>类型了?
      

  4.   

    db.VideoCategories应该是System.Data.Linq.Table<VideoCategories>类型的,
    不符合你函数定义的返回类型,所以要转换成List类型,而且linq会立即执行查询
      

  5.   

    var x = db.VideoCategories;
    将光标指向x可以看到。
    如果是ef,是IQueryable<VideoCategories>,否则可也能是IEnumerable<VideoCategories>。
      

  6.   


    webvodEF.edmx 这样定义出来的,应该是ef吧!
    WebVOD.dbml 如果通过这种方式出来的,就是IEnumerable<VideoCategories>吗?
      

  7.   


    谢谢我查看了一下定义,有一点点概念 // 摘要:
        //     表示用于执行创建、读取、更新和删除操作的类型化实体集。
        //
        // 类型参数:
        //   TEntity:
        //     实体类型。
        public class ObjectSet<TEntity> : ObjectQuery<TEntity>, IObjectSet<TEntity>, IQueryable<TEntity>, IEnumerable<TEntity>, IQueryable, IEnumerable where TEntity : class
      

  8.   

    你可以说它是IQueryable<TEntity>或者IEnumerable<TEntity>。但是显然不是List<TEntity>
      

  9.   

    db.VideoCategories.Where(a => a.TypeId ==id).ToList() 求解释一下这句话是啥意思,我是个新手,刚刚学C#,其中这个a是干嘛用的