Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nhibernate限制。错误_Nhibernate_Criteria_Nhibernate Criteria - Fatal编程技术网

Nhibernate限制。错误

Nhibernate限制。错误,nhibernate,criteria,nhibernate-criteria,Nhibernate,Criteria,Nhibernate Criteria,终于找到了我的错误,这是查询的结果。我有一个使用Restrictions.In的nhibernate查询。问题是一旦查询执行,若并没有返回结果,查询就会立即抛出错误。是否有其他限制,我可以使用。我知道如果我在写一个linq查询,我可以使用.Any返回bool值并从那里开始,在这个例子中我可以做类似的事情吗 卡马克去世了 myQuery.JoinQueryOver(x => x.Car) .Where(Restrictions.In("VIN",

终于找到了我的错误,这是查询的结果。我有一个使用Restrictions.In的nhibernate查询。问题是一旦查询执行,若并没有返回结果,查询就会立即抛出错误。是否有其他限制,我可以使用。我知道如果我在写一个linq查询,我可以使用.Any返回bool值并从那里开始,在这个例子中我可以做类似的事情吗

卡马克去世了

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