DetachedCriteria中的新手Nhibernate联接查询

DetachedCriteria中的新手Nhibernate联接查询,nhibernate,criteria,Nhibernate,Criteria,我有一个类似这样的域: class Project { ... Unit ProjectUnit } class Unit { ... IList<User> Users } class User { ... 类项目 { ... 单位工程单位 } 班级单位 { ... IList用户 } 类用户 { ... } 我必须基于一个用户获取所有项目,所以:每个项目都包含Unit.Users查询用户 如何将其转换为DetachedCriteria?这假设您的用户类上有一个Id属性,并

我有一个类似这样的域:

class Project
{
...
Unit ProjectUnit
}

class Unit
{
...
IList<User> Users
}

class User
{
...
类项目
{
...
单位工程单位
}
班级单位
{
...
IList用户
}
类用户
{
...
}

我必须基于一个用户获取所有项目,所以:每个项目都包含Unit.Users查询用户


如何将其转换为DetachedCriteria?

这假设您的用户类上有一个Id属性,并且您正在传入一个用户

DetachedCriteria query = DetachedCriteria.For(typeof(Project),"Project")
                            .CreateCriteria("ProjectUnit","Unit")
                            .CreateCriteria("Users","users")
                            .Add(Expression.Eq("Id", user.Id));

当您说“包含查询用户”时,您的意思是您正在使用Linq来NHibernate并希望使用IQueryable吗?如果不是,那么查询是否会改变?我不使用Linq到NH。我的意思是查询用户是要在查询中使用的用户对象。