Мне нужно выбрать строки из таблицы базы данных, используя фильтрацию по столбцу типа XML.Фильтрация записей базы данных по содержимому столбца xml с использованием linq-to-sql и xlinq
таблица выглядит (короткая версия)
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>
...
Вопрос заключается в том, как добавить условие WHERE в linq, и желательно, чтобы это преобразование переводилось в запрос ms-sql, w без обработки набора данных в приложении webservice.
Спасибо.
спасибо за идею. – tomo