2012-04-27 3 views
2

Nhibernate의 ISqlQuery 인터페이스를 사용하여 데이터베이스에서 SQL 쿼리를 실행합니다. 다음은 시나리오입니다. 내 도메인 모델은 속성이 있습니다 :ISqlQuery를 사용하여 DateTime2 매개 변수 값 전달

public virtual Datetime StartTime { get; set; } 

데이터베이스 유형 DateTime2의 열 StartTime 있습니다.

코드의 Datetime을 DB의 DateTime2에 매핑하기 위해 UserTypeConvention을 추가했으며 정상적으로 작동합니다.

하지만 ISqlQuery를 사용하여 쿼리하려고하면 DateTime2 형식의 쿼리에 매개 변수를 설정할 수 없습니다. 기본적으로 ISqlQuery.SetDateTime을 사용하면 기본적으로 DB의 Datetime 형식에 매핑되고 'SqlDateTime 오버플로가 1 1 1753 12 00 00 AM과 12/31/9999 11:59:59 PM 사이 여야합니다.'라는 예외가 발생합니다.

ISqlQuery.SetParameter("propname",datetimevalue,Nhibernate.IType)을 사용하려고했지만 DateTime2에 NHibernate.IType 구현을 찾을 수 없습니다.

이 문제가 발생 했습니까?

답변

3

사용 NHibernateUtil.DateTime2

+0

덕분에 reply..It에 대한 디에고했다 ..! – Niraj