我正在研究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/

10-13 08:24