[英]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>
。
如果此方法僅作為GridView
的SelectMethod
調用,則沒關系 。 GridView
代碼將在執行時准確檢查給出的數據類型,並根據數據的性質決定如何處理。 強類型化方法不會對GridView
造成任何影響。
如果您打算從自己的代碼中使用此方法,請使用最有意義的特定類型。
如果您要構建可重用的數據訪問代碼(而不僅僅是對特定表單或控件的查詢),則應查看存儲庫模式- 在此處查看 。
在這種情況下,您可能想從查詢中返回強類型實體(而不是匿名類結果中的對象)
PS:您可以將SelectAll2縮短為
return dc.Products.AsQueryable();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.