我正在研究ASP.NET项目。为了与数据库进行交互,我使用了Entity Framework和LINQ。我知道使用IQueryable
优于IEnumerable
如果要执行另一个查询。但是我想知道的是,我有一个如下的存储库和方法。
public IQueryable<Category> getData(){ return db.categories.AsQueryable(); }
如上所示,我正在return语句中使用AsQueryable进行类型转换,而函数返回类型已经是IQueryable。但是我这样做是因为我不确定,是否像在Controller中那样调用该函数
repository.getData()
没有类型转换会是
IQueryable
吗?我可以删除AsQueryable()
类型转换吗?没有它,它将转换为IEnumerable吗?如果删除AsQueryable
,请保持相同的性能? 最佳答案
如果db.categories
源自(或简称为)IQueryable<Category>
,那么可以,可以将其删除。
关于c# - 我是否需要将AsQueryable()用于在.NET EF中返回IQueryable <Type>的方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36964658/