最后,跟踪我的错误,这是查询的结果。我有一个使用Restrictions.In的nhibernate查询。问题是,如果没有返回的查询立即引发错误,则执行一次查询。还有别的限制我可以用吗。我知道,如果我正在编写一个linq查询,我可以使用.Any返回bool值,然后从那里开始,在这个实例中我可以做类似的事情吗?
carMake被传入
myQuery.JoinQueryOver(x => x.Car)
.Where(Restrictions.In("VIN",
Trades.Where(x => x.Car.Make.ToLower() == carMake.ToLower())
.Select(x => x.Car.PrimaryVIN)
.ToList()));发布于 2017-02-14 20:29:00
假设Trades是一个对象列表,则可以使用.WhereRestrictionOn()。尝试这样做(为了更好的可读性,我拆分了代码):
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();https://stackoverflow.com/questions/42212171
复制相似问题