【发布时间】:2013-11-21 23:46:47
【问题描述】:
我正在阅读 asp.net 和 C# 的教程,作者使用了一些我试图理解的代码。我知道它的作用,但我只是想确定一下。
public IQueryable<Category> GetCategories()
{
var db = new WingtipToys.Models.ProductContext();
IQueryable<Category> query = db.Categories;
return query;
}
我有点困惑
IQueryable<Category>
还有线
IQueryable<Category> query = db.Categories;
我认为它是一个名为 GetCategories() 的方法,它只接受 Category 对象。该方法定义了一个新的实例产品上下文,然后它运行某种类型的查询并返回它。我可能很近,也可能很远。我只是想确定一下。
【问题讨论】:
-
也许这条 SQL 语句将帮助您了解那里返回的内容:“从产品中选择类别” - 结果是表产品中的类别列表。 LINQ to SQL 允许您使用 linq api 在 c# 中编写查询,并将其转换为 SQL。 :)
-
这段代码泄露了一个数据库连接,在垃圾收集器处理它之前不会关闭。
-
@Jake 我怀疑你被通用语法抛出了。
IQueryable<Category>是IQueryable接口的一个实例,专门用于处理Category对象,就像List<Category>是一个只处理Category对象的List。