ICriteria问题

时间:2011-09-07 04:10:05

标签: c# nhibernate

我有两个班级:

public class NormDoc
{

public virtual string Name {get;set;}
public virtual Category CategoryName {get;set;}
...
}

public class Category
{
publiс virtual string Abbr {get;set;}
public virtual string Name {get;set;}
...

}

我有用户可以选择字段的表单(只有NormDoc的属性)。例如,用户选择CategoryNameName。我已经为Name属性编写了标准:

 ICriteria criteria = dataAccessor.GetNormDocDAO().NHibernateSession.CreateCriteria(typeof(NormDoc));
 var test = criteria.Add(Expression.Like("Name", "userText")).List();

如何为CategoryName属性编写条件?我想要这样的东西:

criteria.Add(Expression.Like("Category.Name", "userText")).List();

1 个答案:

答案 0 :(得分:1)

尝试使用以下子标准:

var x = dataAccessor.GetNormDocDAO().NHibernateSession.CreateCriteria<NormDoc>()
    .CreateCriteria("CategoryName")
    .Add(Restrictions.Eq("Name", "userText"))
    .List<NormDoc>();