Nhibernate 反向表达式。类标准
我应该如何使用NHibernate标准编写向后的语句Nhibernate 反向表达式。类标准,nhibernate,icriteria,Nhibernate,Icriteria,我应该如何使用NHibernate标准编写向后的语句 WHERE 'somestring' LIKE [Property] + '%' 分问题: 能否访问SQLCriteria表达式中的抽象根别名 这在某种程度上可以通过使用SQLCriteria表达式实现 Expression.Sql("? like {alias}.[Property] + '.%'", value, NHibernateUtil.String); 但是,在类继承的情况下,{alias}将替换为列的不正确别名 示例(这些
WHERE 'somestring' LIKE [Property] + '%'
分问题:
能否访问SQLCriteria表达式中的抽象根别名
这在某种程度上可以通过使用SQLCriteria表达式实现
Expression.Sql("? like {alias}.[Property] + '.%'", value, NHibernateUtil.String);
但是,在类继承的情况下,{alias}
将替换为列的不正确别名
示例(这些类存储在单独的表中):
以Child
作为根类型执行的上述查询将用Child
表的别名而不是Parent
表的别名替换{alias}
。这将导致无效的列异常
如果属性存在于父表而不是根类型表中,我需要执行如上所述的like语句。您是否尝试将NOT(!)添加到您想要但不想要的运算符前面。我想它可能有用。
Expression.Not(Expression.Like(“Property”、value、MatchMode.StartsWith”)
?这不是一回事。+1,我还对是否存在解决方案感兴趣。
public abstract class Parent
{
public virtual string Property { get; set; }
}
public class Child : Parent { }