我對Linq很新,我可以在任何地方找到多行數據讀取示例(使用foreach()),但讀取單行數據的正確方法是什麼?像經典產品詳細信息頁面。使用Linq to SQL讀取單行數據的正確方法是什麼?
下面是我的嘗試:
var q = from c in db.Products
where c.ProductId == ProductId
select new { c.ProductName, c.ProductDescription, c.ProductPrice, c.ProductDate };
string strProductName = q.First().ProductName.ToString();
string strProductDescription = q.First().ProductDescription.ToString();
string strProductPrice = q.First().ProductPrice.ToString();
string strProductDate = q.First().ProductDate.ToString();
的代碼對我來說很好,但是當我看到生成的實際SQL表達式使用SQL事件探查器,這讓我害怕!該程序執行四個Sql表達式與它們是完全一樣!
因爲我從一行讀四列。我想我必須做出錯誤的事情,所以我想知道做這件事的正確方法是什麼?
謝謝!
更新你的直覺的一種方法可能是這樣的:請注意,First()是*方法*而不是*屬性* - 這表明它將*做某事*。你只需要*執行一次*,所以只需要調用First()一次(如下所述,考慮FirstOrDefault())。 – AakashM 2009-10-27 14:44:14
對我來說,什麼會讓我害怕,而不是*能夠在我的項目中使用LINQ。沒有它,我無法生活。 – Konamiman 2009-10-27 14:48:04