Dapper-dot-net을 사용하여 SQL 시간 열을 .Net 유형으로 매핑하는 방법은 무엇입니까?

.net dapper tsql

문제

.NET 형식으로 직접 매핑되지 않는 SQL time(7) 형식을 사용하는 기존 데이터베이스가 있습니다.

질문 : Dapper를 사용하여 SQL time 열을 .NET 유형에 매핑하는 방법은 무엇입니까?

문제 : Dapper-dot-net을 사용하여 SQL time(7) 열을 DateTime 에 암시 적으로 매핑하려고하면 다음 예외가 발생합니다.

Dapper.dll에서 'System.Data.DataException'유형의 예외가 발생했지만 사용자 코드에서 처리되지 않았습니다.

추가 정보 : 열 5 구문 분석 오류 (CheckInTime = 08 : 54 : 43.1470000 - 개체)

나는 그것이 DateTime에 자동적으로 매핑 될 것이라고 생각했지만 그렇게하지 않는 것처럼 보인다.

인기 답변

SQL 시간 (7) 열을 System.TimeSpan 매핑하는 데 성공했습니다.

Dan이 지적했듯이 TimeSpan 은 하루 중 시간을 나타내는 것이 목적이라면 "의미 상"덜 적합합니다.

그러나 기술적으로 시간 (7)에서 TimeSpan으로 이동하는 정보의 손실은 없으므로 데이터가 있으며 의미의 문제입니다.

추함을 완화하기 위해 사용했던 한 가지 방법은 쿼리 전용으로 사용자 정의 유형의 공용 속성에서 데이터를 노출하기 위해 전용 TimeSpan 속성을 사용하는 것입니다.

내가 사용을 통해 선호 DateTime 위해 전화와 함께 CONVERT() 도 함께 때문에 SQL에서 DateTime 당신은 여전히 당신의 데이터 어떻게 든 "불완전한"표현이 (날짜 부분은 가짜입니다) 당신은에 추를 소개합니다 SQL뿐만 아니라.

그러나이 시점에서 나는 그것이 개인적 취향의 문제로 간주 될 수 있다고 생각한다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow