繁体   English   中英

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

[英]what's the best return type for Select LINQ

我刚开始使用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>

如果此方法仅作为GridViewSelectMethod调用,则没关系 GridView代码将在执行时准确检查给出的数据类型,并根据数据的性质决定如何处理。 强类型化方法不会对GridView造成任何影响。

如果您打算从自己的代码中使用此方法,请使用最有意义的特定类型。

如果您要构建可重用的数据访问代码(而不仅仅是对特定表单或控件的查询),则应查看存储库模式- 在此处查看

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

PS:您可以将SelectAll2缩短为

return dc.Products.AsQueryable();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM