簡體   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