大家好请各位帮我理解asp.net mvc5与e.f 6默认使用IQueryable或IEnumerable?我想使用IQueryable,因为它最适合底层数据库。我正在使用LINQ to entity方法和var关键字来保存linq结果。默认情况下,我的模型类的类型为public className {get; set}所以这里返回IQueryable或IEnumerable? 请帮助我
答案 0 :(得分:0)
DbContext
是您在使用EF6时访问数据存储的上下文。您可以使用类型DbContext
或方法DbSet<TEntity>
的属性访问Set<TEntity>
实例上的模型(表格),这些属性也会返回DbSet<TEntity>
。 DbSet<TEntity>
实现了实现接口的抽象类DbQuery<TEntity>
:
DbQuery<TEntity>
IDbSet<TEntity>
IQueryable<TEntity>
IEnumerable<TEntity>
IQueryable
IEnumerable
。 最后,如果您还查看IQueryable
的定义,您会看到它是IEnumerable
的扩展名。另外IQueryable<TEntity>
实现了IEnumerable<TEntity>
。