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;
}

Select LINQ的最佳返回类型是什么?

您不想返回object。我想知道你在哪里看到的。

IQueryable<T>IEnumerable<T>为佳。

如果此方法仅作为GridViewSelectMethod调用,则无关GridView代码将在执行时检查它所给出的数据的确切类型,并根据它是什么来决定如何处理它。强类型方法GridView没有任何影响。

如果你打算从你自己的代码中使用这个方法,那么使用最具体的有意义的类型

如果您正在构建可重用的数据访问代码(而不仅仅是对特定表单或控件的查询),那么您应该查看存储库模式-查看这里。

在这种情况下,您希望从查询中返回强类型实体(而不是来自匿名类结果的对象)

PS:你可以把SelectAll2缩短为

return dc.Products.AsQueryable();