user348173
user348173

Reputation: 9288

Problem with ICriteria

I have two classes:

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;}
...

}

I have form where user can select field (only NormDoc's properties). For example user choose CategoryName and Name. I have written criteria for Name property:

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

How to write criteria for CategoryName property? I want something like that:

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

Upvotes: 1

Views: 45

Answers (1)

Dmitry
Dmitry

Reputation: 17350

Try using sub criteria like this:

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

Upvotes: 1

Related Questions