我需要使用xml-type列過濾數據庫表中的行。使用linq-to-sql和xlinq過濾xml列內容的數據庫記錄
表看起來像(精簡版)
id
dbfield int
xmlfield xml
,我過濾它以這種方式
IQueryable<Data.entity> q = from u in datacontex.entities
select u;
if (val1.HasValue)
q = q.Where(x => x.dbfield > val1.value)
if (val2.HasValue)
q = q.Where(x=> x.dbfield < val2.value)
if (!string.IsNullOrEmpty(searchString))
q = q.Where (x=> x.xmlfield contains values from searchString)
XML在xmlfield是非常簡單的,它看起來像
<doc>
<item id="no">test/WZ/2009/04/02</item>
<item id="title">blabla</item>
...
問題是如何在linq中添加WHERE條件,並且最好這個關聯應該轉換爲ms-sql查詢w沒有webservice應用程序上的處理數據集。
謝謝。
感謝您的想法。 – tomo 2009-11-17 10:46:23