2012-11-22 29 views
0

2008年VisualStudio中我碰到下面的錯誤在我的LINQ查詢:不能轉換sourceType的「System.Linq.IQueryable <string>」爲目標類型「字符串」

不能轉換sourceType的「System.Linq.IQueryable」爲目標類型「串」

這是查詢:

var query = (from c in model.ITEMLIST 
       select new ItemList 
         { 
          LineNo = c.LINE_NO, 
          SupplierName = from s in model.VENDOR where s.ID == c.ID_VENDOR select s.NAME 
                }); 

如果我在LinqPad運行相同的查詢它成功返回預期結果

我爲此使用LinqToEntity。 在我使用LinqToSql的另一個項目中,我有一個類似的查詢運行正常。

回答

3

你的問題是此行

SupplierName = from s in model.VENDOR where s.ID == c.ID_VENDOR select s.NAME 

SupplierNamestring但右手邊是一個查詢。嘗試分配查詢中唯一的結果。

SupplierName = 
    (from s in model.VENDOR where s.ID == c.ID_VENDOR select s.NAME).Single() 

,或者在我的風格比較喜歡

SupplierName = model.VENDOR.Single(v => v.ID == c.ID_VENDOR).NAME; 
+0

事實上,這是:)謝謝 – Kman

相關問題