C# ICriteria的问题

C# ICriteria的问题,c#,nhibernate,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;} ... } 我有一个表单,用户可以选择字段(只有

我有两门课:

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的属性)。例如,用户选择
CategoryName
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();

尝试使用以下子标准:

var x = dataAccessor.GetNormDocDAO().NHibernateSession.CreateCriteria<NormDoc>()
    .CreateCriteria("CategoryName")
    .Add(Restrictions.Eq("Name", "userText"))
    .List<NormDoc>();
var x=dataAccessor.GetNormDocDAO().NHibernateSession.CreateCriteria()
.CreateCriteria(“类别名称”)
.Add(Restrictions.Eq(“Name”、“userText”))
.List();

尝试使用以下子标准:

var x = dataAccessor.GetNormDocDAO().NHibernateSession.CreateCriteria<NormDoc>()
    .CreateCriteria("CategoryName")
    .Add(Restrictions.Eq("Name", "userText"))
    .List<NormDoc>();
var x=dataAccessor.GetNormDocDAO().NHibernateSession.CreateCriteria()
.CreateCriteria(“类别名称”)
.Add(Restrictions.Eq(“Name”、“userText”))
.List();