Nhibernate平等标准
我有一个场景,我必须用给定的字符串列表检查表id列表,并获取所有相关数据。我知道如何检索一个相等标准的数据Nhibernate平等标准,nhibernate,Nhibernate,我有一个场景,我必须用给定的字符串列表检查表id列表,并获取所有相关数据。我知道如何检索一个相等标准的数据 var criteria = sm.Session.CreateCriteria(GetRegisteredType<Data>()); criteria = criteria.Add(Expression.Eq("Id", "9999")); var-criteria=sm.Session.CreateCriteria(GetRegisteredType()); crit
var criteria = sm.Session.CreateCriteria(GetRegisteredType<Data>());
criteria = criteria.Add(Expression.Eq("Id", "9999"));
var-criteria=sm.Session.CreateCriteria(GetRegisteredType());
criteria=criteria.Add(Expression.Eq(“Id”,“9999”));
我有一个字符串列表,我需要用Id列检查。
有人能帮我吗?您需要使用基于
ICriteria
的查询吗?否则,基于LINQ的查询将类似于:
var results =
sm.Session
.Query<Data>()
.Where(d => listOfStrings.Contains(d.Id))
.ToList();
var结果=
高级管理人员会议
.Query()
.Where(d=>listOfStrings.Contains(d.Id))
.ToList();
但是,您需要注意字符串列表的大小,因为它们将作为参数传递,并且会受到限制。是否需要使用基于
ICriteria
的查询?否则,基于LINQ的查询将类似于:
var results =
sm.Session
.Query<Data>()
.Where(d => listOfStrings.Contains(d.Id))
.ToList();
var结果=
高级管理人员会议
.Query()
.Where(d=>listOfStrings.Contains(d.Id))
.ToList();
但是,您需要注意字符串列表的大小,因为它们将作为参数传递,并且会受到限制。假设您有以下列表:
var list = new string[] { "9999", "1111" };
Session.CreateCriteria(GetRegisteredType<Data>()).Add(Restrictions.InG("Id", list));
Session.CreateCriteria(GetRegisteredType()).Add(Restrictions.InG(“Id”,list));
Session.QueryOver<Data>().Where(x => x.Id.IsIn(list));
Session.QueryOver()。其中(x=>x.Id.IsIn(list));
Session.Query<Data>().Where(x => list.Contains(x.Id))
Session.Query().Where(x=>list.Contains(x.Id))
假设您拥有以下列表:
var list = new string[] { "9999", "1111" };
Session.CreateCriteria(GetRegisteredType<Data>()).Add(Restrictions.InG("Id", list));
Session.CreateCriteria(GetRegisteredType()).Add(Restrictions.InG(“Id”,list));
Session.QueryOver<Data>().Where(x => x.Id.IsIn(list));
Session.QueryOver()。其中(x=>x.Id.IsIn(list));
Session.Query<Data>().Where(x => list.Contains(x.Id))
Session.Query().Where(x=>list.Contains(x.Id))
在上面的链接问题中,您的答案可能重复。如果您需要对子查询执行此操作,请参阅。您的答案可能与上面链接的问题重复。如果需要使用子查询执行此操作,请参阅。