2011-02-02 28 views
0

後隨到this previous question:明確問題的LINQ

當前代碼:

var query = from b in books 
      select new 
      { 
       Title = b.Title, 
       StockAvailable = bookexamples.Count(be => 
         be.BookID == b.BookID && 
         be.OrderDetailID == null 
        ) 
      }; 

目標:
更換queryIEnumerable<test>應該從LINQ查詢含有強類型數據。

public class test 
{ 
    public string Title { get; set; } 
    public List<int> StockAvailable { get; set; } 
} 

問題:
收到一個錯誤消息:

錯誤1無法隱式轉換型 'System.Collections.Generic.IEnumerable<AnonymousType#1>''System.Collections.Generic.IEnumerable<BokButik1.Models.test>'。 的顯式轉換存在(是否 缺少強制轉換?)

問:
我應該如何解決這個問題?

// Fullmetalboy

+0

編輯澄清我認爲你想問。 – 2011-02-02 22:24:08

回答

4

您需要修改查詢返回test對象(目前,它返回anomynous對象)。

var query = from b in books 
      select new test() 
      { 
       Title = b.Title, 
       StockAvailable = bookexamples.Count(be => 
         be.BookID == b.BookID && 
         be.OrderDetailID == null 
        ) 
      }; 

你需要調整StockAvailable代表的int作爲Count返回一個int。

此外,請注意,C#中的類名在開頭以大寫字母寫。

+2

類名使用C#by * convention *而不是* rule *以大寫字母書寫。沒有任何東西強迫你這樣做,但仍然是很好的建議。 – 2011-02-02 21:30:45