Dapper는 datetime 필드를 기본값으로 사용합니다.

.net asp.net asp.net-core c# dapper

문제

어떻게 dapper로 모든 검색 결과가이 workoutdate 필드에 비어있는 (기본 Datetime 값을) 가져 왔습니까?

StringBuilder query = new StringBuilder();

query.Append("SELECT W.WorkoutId, W.Active, W.GymId, W.Spots, W.UserId, W.WorkoutDate, W.WorkoutStatusId FROM [Workout] W");

    public class Workout
    {
        public Guid WorkoutId { get; private set; }
        public Guid UserId { get; set; }
        public Guid? GymId { get; set; }
        public int WorkoutStatusId { get; set; }
        public int Spots { get; set; }
        public bool Active { get; set; }
        public DateTime WorkoutDate { get; set; }
    }

인기 답변

귀하의 열은 datetime2입니다. Dapper가 다음과 같이 열을 매핑하는 방식을 변경할 수 있습니다.

SqlMapper.AddTypeMap(typeof(DateTime), System.Data.DbType.DateTime2);

대안은 다음과 같이 선택 항목에 캐스팅하는 것입니다.

SELECT CAST(W.WorkoutDate AS datetime) ...

또는 datetime2의 추가 정밀도가 필요하지 않으면 열을 datetime으로 변경할 수 있습니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.