2
값 객체가 포함 NULL 값 쿼리 :은 NHibernate에이 -이 같은 값 객체가
public class PersonMapping : ComponentMap<Person>
{
public PersonMapping()
{
Map(x => x.FirstName).Not.Nullable().Length(96);
Map(x => x.LastName).Not.Nullable().Length(96);
Map(x => x.MiddleName).Nullable().Length(96);
Map(x => x.NickName).Nullable().Length(64);
}
}
난과 같이 쿼리를 만들기 :
var owner = new Person("Anneliese", "ObjectOfficer_1");
var query = NhSession.Query<ServiceContract>()
.Where(s => s.ObjectOfficer.Manager == owner);
contracts = query.ToList();
이것은있다 Person
의 인스턴스를 생성 null
미들 네임과 닉네임. 잘못
select .....
from .....
where (objectoffi1_.FirstName = @p0
and objectoffi1_.LastName = @p1
and objectoffi1_.MiddleName = @p2
and objectoffi1_.NickName = @p3);
@p0 = 'Anneliese' [Type: String (4000)],
@p1 = 'ObjectOfficer_1' [Type: String (4000)],
@p2 = NULL [Type: String (4000)],
@p3 = NULL [Type: String (4000)]
없음 기록 경기 : NHibernate에 쿼리과 같이 만듭니다. 내가 생성 된 쿼리를 변경하고 그래서 같은 값으로 매개 변수를 교체 할 때
는 :
...
where (objectoffi1_.FirstName = 'Anneliese' and objectoffi1_.LastName = 'ObjectOfficer_1'
and objectoffi1_.NickName is null and objectoffi1_.MiddleName is null)
그것을 결과의 정확한 수를 반환합니다. 아무도이 문제를 어떻게 처리 할 수 있는지 아니? NHibernate가 필드 = NULL 대신에 필드가 MS SQL Server에 대해 null 인 경우 wrong TSQL이므로 결과가 반환되지 않습니다. 어떤 아이디어?
어떤 nhibernate 버전을 사용하고 있으며 mssqldialect는 무엇입니까? – Jehof
최신 버전, NH 4.0.4.4000, FNH 2.0.3, SQL Dialect 2012, SQL Server 2014는 내가 사용하지만 2012는 NH에서 지원하는 최신 버전입니다. – ThommyB