【发布时间】:2009-11-17 18:45:02
【问题描述】:
我需要使用 xml-type 列过滤从数据库表中选择行。
表格看起来像(短版)
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)
xmlfield中的XML看起来很简单
<doc>
<item id="no">test/WZ/2009/04/02</item>
<item id="title">blabla</item>
...
问题是如何在 linq 中添加 WHERE 条件,最好将此条件转换为 ms-sql 查询,而不需要在 web 服务应用程序上处理数据集。
谢谢。
【问题讨论】:
标签: linq linq-to-sql linq-to-xml