休眠 Restrictions.In 错误
Nhibernate Restrictions.In Error
终于找到了我的错误,这是查询的结果。我有一个使用 Restrictions.In 的 nhibernate 查询。问题是如果没有结果 returned 查询立即抛出错误,一旦查询执行。我可以使用其他限制吗?我知道如果我正在编写一个 linq 查询,我可以使用 .Any 到 return 布尔值,然后从那里开始,在这种情况下我可以做类似的事情吗?
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()));
假设 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();
终于找到了我的错误,这是查询的结果。我有一个使用 Restrictions.In 的 nhibernate 查询。问题是如果没有结果 returned 查询立即抛出错误,一旦查询执行。我可以使用其他限制吗?我知道如果我正在编写一个 linq 查询,我可以使用 .Any 到 return 布尔值,然后从那里开始,在这种情况下我可以做类似的事情吗?
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()));
假设 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();