2
有人可以解釋爲什麼,當一個查詢應該返回一個字符串項目,只是在下面的例子中;LINQ查詢的差異
From c in context.Products Where c.Id=prodId Select c.Name
爲什麼不能這樣做;
Dim prodDeleted as String = (From c in context.Products Where c.Id=prodId Select c.Name).ToString()
bvecause它返回這個(System.Data.Objects.ObjectQuery`1 [System.String]),代替商品名
與具有做它像這樣;
Dim prodDeleted = (From c In ctx.products
Where c.Id = prodId
Select c).FirstOrDefault()
Dim deletedprodname As String = prodDeleted.Name.ToString()
如果你不能100%肯定它會返回的任何元素,你可以使用[FirstOrDefault](http://msdn.microsoft.com/en-us/library/bb340482.aspx),驗證您的結果不爲空,如果沒有,請使用對象上的屬性。無法保證在任何實例中運行的任何查詢都會得到0,1個或更多結果,因此IEnumerable是最好的解決方案,因爲它允許任意數量的結果(包括無值)。 –
謝謝你倆的確切答案 – dinotom