【问题标题】:Nhibernate Restrictions.In ErrorNhibernate Restrictions.In 错误
【发布时间】:2017-02-13 19:37:48
【问题描述】:

终于找到了我的错误,这是查询的结果。我有一个使用 Restrictions.In 的休眠查询。问题是一旦查询执行,如果没有返回结果查询立即抛出错误。我可以使用其他限制吗?我知道如果我正在编写一个 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()));

【问题讨论】:

  • 什么是Trades?另一个实体?

标签: nhibernate criteria nhibernate-criteria


【解决方案1】:

假设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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-28
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多