我的问题很简单,给定一个ID(当然还有对象类型)使用NHibernate检查数据库中是否存在此ID的最佳方法是什么?
感谢。
答案 0 :(得分:1)
使用nhibernate的ICriteria接口
Session.CreateCriteria(typeof(User))
.Add(Expression.Eq("Id", 1))
.List<User>();
或
Session.CreateCriteria(typeof(User))
.Add(Expression.IdEq(1))
.List<User>();
或
IList<int> recs = Session.CreateCriteria(typeof(User))
.SetProjection(Projections.Count("UserId"))
.Add(Expression.IdEq(1))
.List<int>();
recs.Count;
答案 1 :(得分:0)
我假设没有检索对象?像这样......
bool exists = session.CreateCriteria<YourObject>()
.SetProjection(Projections.Constant(1))
.Add(Restrictions.IdEq(id))
.UniqueResult != null;
对select 1 from YourObjectTable where id = @id