Как написать DateTime с помощью LinqToDB в поле базы данных Postgres «метка времени без часового пояса»? ⇐ C#
Как написать DateTime с помощью LinqToDB в поле базы данных Postgres «метка времени без часового пояса»?
C# + Linq2db + Postgres
сущность для таблицы
[Table("my_table", Schema = "myScheme")] публичный класс TableEntity ... [Column("dt", DbType = "метка времени без часового пояса", DataType = DataType.DateTime)] общественный DateTime DT {получить; набор; }... Я установил значение объекта
tableEntity.DT = DateTime.SpecifyKind(someDate, DateTimeKind.Local); //В отладчике я вижу, что здесь Kind для tableEntity.DT — это DateTimeKind.Local Следующая строка запускает команду LinqToDb:
dataConn.InsertWithInt32IdentityAsync(loanContractEntity); но под капотом linqToDb преобразует DateTimeKind для tableEntity.DT из Local в UTC, а затем выдает исключение: Невозможно записать DateTime с Kind=UTC в тип PostgreSQL ' временная метка без часового пояса», рассмотрите возможность использования «временной метки с часовым поясом». Обратите внимание, что невозможно смешивать DateTimes с разными типами в массиве/диапазоне. См. переключатель AppContext Npgsql.EnableLegacyTimestampBehavior, чтобы включить устаревшее поведение.
Но мне нужно использовать «временную метку без часового пояса».
Итак, как написать C# DateTime с помощью LinqToDB в поле базы данных Postgres «метка времени без часового пояса»?
C# + Linq2db + Postgres
сущность для таблицы
[Table("my_table", Schema = "myScheme")] публичный класс TableEntity ... [Column("dt", DbType = "метка времени без часового пояса", DataType = DataType.DateTime)] общественный DateTime DT {получить; набор; }... Я установил значение объекта
tableEntity.DT = DateTime.SpecifyKind(someDate, DateTimeKind.Local); //В отладчике я вижу, что здесь Kind для tableEntity.DT — это DateTimeKind.Local Следующая строка запускает команду LinqToDb:
dataConn.InsertWithInt32IdentityAsync(loanContractEntity); но под капотом linqToDb преобразует DateTimeKind для tableEntity.DT из Local в UTC, а затем выдает исключение: Невозможно записать DateTime с Kind=UTC в тип PostgreSQL ' временная метка без часового пояса», рассмотрите возможность использования «временной метки с часовым поясом». Обратите внимание, что невозможно смешивать DateTimes с разными типами в массиве/диапазоне. См. переключатель AppContext Npgsql.EnableLegacyTimestampBehavior, чтобы включить устаревшее поведение.
Но мне нужно использовать «временную метку без часового пояса».
Итак, как написать C# DateTime с помощью LinqToDB в поле базы данных Postgres «метка времени без часового пояса»?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение