nhibernate查询以按用户的Guid返回用户

nhibernate查询以按用户的Guid返回用户,nhibernate,hql,criteria,Nhibernate,Hql,Criteria,我有一个用户类: public class User { public virtual int ID {get;set;} public virtual string UserGuid {get;set;} // its unique! } 有人能告诉我如何使用HQL和条件进行查询以通过UserGuid获取用户吗?如果它是唯一的: var query = Session.CreateQuery("from User u where u.UserGuid = :id");

我有一个用户类:

public class User
{
   public virtual int ID {get;set;}
   public virtual string UserGuid {get;set;}  // its unique!
}
有人能告诉我如何使用HQL和条件进行查询以通过UserGuid获取用户吗?

如果它是唯一的:

var query = Session.CreateQuery("from User u where u.UserGuid = :id");
            query.SetString("id", id);

var user = query.UniqueResult<User>();
var query=Session.CreateQuery(“来自用户u,其中u.UserGuid=:id”);
query.SetString(“id”,id);
var user=query.UniqueResult();
如果它是唯一的:

var query = Session.CreateQuery("from User u where u.UserGuid = :id");
            query.SetString("id", id);

var user = query.UniqueResult<User>();
var query=Session.CreateQuery(“来自用户u,其中u.UserGuid=:id”);
query.SetString(“id”,id);
var user=query.UniqueResult();

Matthieu为您提供了HQL,以下是标准:

public User GetUserByUserGuid(Guid userGuid){

  ICriteria crit = Session.CreateCriteria<User>();
  crit.Add(Expression.Eq("UserGuid", userGuid));
  return crit.UniqueResult<User>(); //will return null if not found

}
公共用户GetUserByUserGuid(Guid userGuid){ ICriteria crit=Session.CreateCriteria(); 添加(Expression.Eq(“UserGuid”,UserGuid)); return crit.UniqueResult();//如果找不到,将返回null }
Matthieu为您提供了HQL,以下是标准:

public User GetUserByUserGuid(Guid userGuid){

  ICriteria crit = Session.CreateCriteria<User>();
  crit.Add(Expression.Eq("UserGuid", userGuid));
  return crit.UniqueResult<User>(); //will return null if not found

}
公共用户GetUserByUserGuid(Guid userGuid){ ICriteria crit=Session.CreateCriteria(); 添加(Expression.Eq(“UserGuid”,UserGuid)); return crit.UniqueResult();//如果找不到,将返回null }