Nhibernate限制。错误
终于找到了我的错误,这是查询的结果。我有一个使用Restrictions.In的nhibernate查询。问题是一旦查询执行,若并没有返回结果,查询就会立即抛出错误。是否有其他限制,我可以使用。我知道如果我在写一个linq查询,我可以使用.Any返回bool值并从那里开始,在这个例子中我可以做类似的事情吗 卡马克去世了Nhibernate限制。错误,nhibernate,criteria,nhibernate-criteria,Nhibernate,Criteria,Nhibernate Criteria,终于找到了我的错误,这是查询的结果。我有一个使用Restrictions.In的nhibernate查询。问题是一旦查询执行,若并没有返回结果,查询就会立即抛出错误。是否有其他限制,我可以使用。我知道如果我在写一个linq查询,我可以使用.Any返回bool值并从那里开始,在这个例子中我可以做类似的事情吗 卡马克去世了 myQuery.JoinQueryOver(x => x.Car) .Where(Restrictions.In("VIN",
myQuery.JoinQueryOver(x => x.Car)
.Where(Restrictions.In("VIN",
Trades.Where(x => x.Car.Make.ToLower() == carMake.ToLower())
.Select(x => x.Car.PrimaryVIN)
.ToList()));
假设
Trades
是一个对象列表,您可以使用。WhereRestrictionOn()
。试试这个(为了更好的可读性,我拆分了代码):
var vinsWithCarMake=交易
.Where(x=>x.Car.Make.ToLower()==carMake.ToLower())
.选择(x=>x.Car.PrimaryVIN)
.ToList();
var carAlias=null;
var result=myQuery.JoinAlias(x=>x.Car,()=>carAlias)
.WhereRestrictionOn(()=>carAlias.VIN).IsInG(vinsWithCarMake)
.List();
什么是交易
?另一个实体?
var vinsWithCarMake = Trades
.Where(x => x.Car.Make.ToLower() == carMake.ToLower())
.Select(x => x.Car.PrimaryVIN)
.ToList<string>();
var carAlias = null;
var result = myQuery.JoinAlias(x => x.Car, () => carAlias)
.WhereRestrictionOn(() => carAlias.VIN).IsInG<string>(vinsWithCarMake)
.List();