Programming/C#
[EFCore] Postgresql 사용시 Cannot write DateTime with Kind=UTC to PostgreSQL type 'timestamp without time zone' 에러
비만오리
2023. 3. 6. 13:46
EF Core에서 Postgres 사용 시 발생하는 Cannot write DateTime with Kind=UTC to PostgreSQL type 'timestamp without time zone' 에러를 해결하는 방법에 대해 알아봅니다.
현상
public class SomeClass
{
[Column("created_on")]
public DateTime? created_on { get; set; }
}
위와 같이 nullable DateTime 값을 수정하고자 할 때 Cannot write DateTime with Kind=UTC to PostgreSQL type 'timestamp without time zone' 오류가 발생.
수정
직접 setter를 구현해 명시적으로 DateTime.Kind를 설정합니다.
public class SomeClass{
[Column("created_on")]
private DateTime? _created_on
public DateTime? created_on
{
get
{
return this._created_on;
}
set
{
this._created_on = DateTime.SpecifyKind(value, DateTimeKind.Utc);
}
}
}
위와 같이 수정하면 정상적으로 nullable DateTime 컬럼이 수정됩니다.
반응형