2011-11-19 77 views
0

我正在開發WP7 c#linq和XML。下面的查詢不起作用(不能將類型'bool'轉換爲'字符串')。我需要一些與SQL Like操作符相當的簡單可用的對象。 ==操作符效果很好c#linq包含運算符

var data = from query in loadedData.Descendants("Row") 
         where ((string)query.Element("Names").Value.Contains("Joh")) 
         select new Kalendars 
         { 
          myDate = (int)query.Element("Date"), 
          myMonth = (string)query.Element("Month"), 
... 

回答

4

變化:

((string)query.Element("Names").Value.Contains("Joh")) 

到:

query.Element("Names").Value.Contains("Joh") 

,或者您可能能夠使用SqlMethods.Like

+0

query.Element( 「名稱」)Value.Contains( 「荷蘭Joh」) - 現在我有 「的NullReferenceException」 – Karloss

+0

其中SqlMethods.Like(query.Element( 「名稱」), 「荷蘭Joh」)原因「System.Data.Linq.SqlClient.SqlMethods.Like(string,string)'的最佳重載方法匹配'有一些無效參數」 – Karloss

+0

如果您得到'NullReferenceException',這意味着要麼沒有「名稱「元素或」名稱「元素爲空。如果您將XML的樣本添加到您的問題中,它將對我們有所幫助。 – Jacob

1

你可以嘗試鑄造的元素串,而不是Contains的結果:

where ((string)query.Element("Names")).Contains("Joh")