Select LINQ的最佳返回类型是什么?
本文关键字:是什么 返回类型 最佳 LINQ Select | 更新日期: 2023-09-27 18:09:15
我刚开始使用LINQ和c#,我不确定LINQ语句返回一堆记录的推荐返回类型是什么
我发现以下两种符号在将数据链接到gridview时都可以工作。在什么情况下我应该使用哪种方法?
public object SelectAll()
{
var query = from p in dc.Products
select new { p.pk_product_id, p.product_name, p.product_price_kg };
return query;
}
public IQueryable<Product> SelectAll2()
{
var query = from p in dc.Products
select p;
return query;
}
您不想返回object
。我想知道你在哪里看到的。
IQueryable<T>
或IEnumerable<T>
为佳。如果此方法仅作为GridView
的SelectMethod
调用,则无关。GridView
代码将在执行时检查它所给出的数据的确切类型,并根据它是什么来决定如何处理它。强类型方法对GridView
没有任何影响。
如果你打算从你自己的代码中使用这个方法,那么使用最具体的有意义的类型
如果您正在构建可重用的数据访问代码(而不仅仅是对特定表单或控件的查询),那么您应该查看存储库模式-查看这里。
在这种情况下,您希望从查询中返回强类型实体(而不是来自匿名类结果的对象)
PS:你可以把SelectAll2缩短为
return dc.Products.AsQueryable();