Как написать DateTime с помощью LinqToDB в поле базы данных Postgres «метка времени без часового пояса»?C#

Место общения программистов 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#»