我的一个实体中有一个xml列 我管理使用用户类型并将此列映射到我的XmlElement类型的实体中的属性 我想知道我是否可以从代码中查询此对象,就像我使用QueryOver执行sql一样? 我找到了像here这样的东西。但我不明白如何查询它
提前谢谢
答案 0 :(得分:0)
if (tagIds != null && tagIds.Count > 0)
{
StringBuilder attrXPath = new StringBuilder();
for(int counter = 0;counter<tagIds.Count();counter++)
{
attrXPath.Append("@id=\"");
attrXPath.Append(tagIds[counter]);
attrXPath.Append("\"");
if(counter < tagIds.Count() - 1)
attrXPath.Append(" or ");
}
query.UnderlyingCriteria
.Add(Restrictions.Eq(Projections.SqlProjection("tags.exist('/tags/tag[" + attrXPath.ToString() + "]') as XmlRestriction",
new string[] { "XmlRestriction" },
new IType[] { NHibernateUtil.String}), 1));
}