nhibernate 5之后的不同查询(使用oracle)
在从4.1升级到5.2之后,nhibernate正在创建一个稍微不同的查询,在不受欢迎的地方添加“OR” 4.1 有关映射的更多信息:nhibernate 5之后的不同查询(使用oracle),nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,在从4.1升级到5.2之后,nhibernate正在创建一个稍微不同的查询,在不受欢迎的地方添加“OR” 4.1 有关映射的更多信息: c、 佩吉德:智力 b、 Id:int 使用NHibernate 5.2.6和Fluent 2.1.2 为什么版本5要转换为不同的SQL语句?这是5.x的一个已知问题。详细说明行为改变的时间和原因。 另外,LINQ没有解决方法,因此如果它对您来说是一个showstopper,那么您必须使用hql/QueryOver 但是有一个开放的pull请求应该可以修复这
- c、 佩吉德:智力
- b、 Id:int
但是有一个开放的pull请求应该可以修复这种行为。因此,在5.3中,它可能是固定的。如果将查询更改为
,其中c.PegId.Value==b.id
是否会将查询更改为不使用或?我这样问是因为当我在一个使用EF的项目中工作时,一些查询在LINQI中不使用.Value
时会执行空检查,如果将查询更改为,其中c.PegId.Value==b.id
,是否会将查询更改为不使用或?我这样问是因为当我在一个使用EF的项目中工作时,一些查询在Linq中不使用.Value
时会执行空检查
...,
...,
(select cast(count(guia5_.ID) as NUMBER(10, 0))
from SAM_GUIA guia5_
where guia5_.PEGID = peg1_.ID <<<<<<<<<<<<<<<
) as col_41_0_,
...,
...,
(select cast(count(guia5_.ID) as NUMBER(10, 0))
from SAM_GUIA guia5_
where guia5_.PEGID = peg1_.ID <<<<<<<<<<<<<<<
or (guia5_.PEGID is null) <<<<<<<<<<<<<<<
and (peg1_.ID is null) <<<<<<<<<<<<<<<
) as col_41_0_,
...,
...,
RecordCount = (from c in repositoryGuia.All()
where c.PegId == b.Id
select c.Id
).Count(),