查询过抛出异常
问题描述:
我尝试此查询过的标准:查询过抛出异常
Area area = null
var res = session.QueryOver<Area>(() => area);
res.UnderlyingCriteria.Add(Expression.Where<Area>(x => x.shops.where(s => s.Id == 40503) != null));
扔给我这个异常:
“类型区的变量x的范围内引用,但它没有定义”
有人知道它为什么会发生?
答
您是否尝试过使用您的area
别名?
res.UnderlyingCriteria.Add(Expression.Where<Area>(() => area.shops.where(s => s.Id == 40503) != null));
即使这似乎过于复杂。这会更好:
Area area = null;
Shop shop = null
var res = session.QueryOver<Area>(() => area)
.Left.JoinAlias(() => area.shops,() => shop)
.Where(() => shop.Id == 40503);
我写在那里不是空。我想返回包含商店ID为40503的区域(身份证是例子) –
我已经试过这个。它给我带来了同样的例外,我知道这个问题在潜在的标准中,因为如果我改变它有点工作(但不检查我搜索的内容) –