Ошибка Cannot write DateTime with Kind=Local to PostgreSQL type 'timestamp with time zone', only UTC is supported
Заапдейтил проекты на .NET 6 и nuget-пакеты до последней стабильной. EFCore сейчас во всех проектах 6.0 (на самом деле чуть выше, но это не имеет значения). Погуглив я нашел следующий вопрос на SO, а так же некоторую информацию от Npgsql, все ответы добавляют какие-то новые классы для конверта, атрибуты и еще много непонятно чего, поэтому воспроизводить их не особо хочется. Как можно решить данную проблему?
Cannot write DateTime with Kind=Local to PostgreSQL type 'timestamp with time zone', only UTC is supported. Note that it's not possible to mix DateTimes with different Kinds in an array/range. See the Npgsql.EnableLegacyTimestampBehavior AppContext switch to enable legacy behavior. System.InvalidCastException: Cannot write DateTime with Kind=Local to PostgreSQL type 'timestamp with time zone', only UTC is supported. Note that it's not possible to mix DateTimes with different Kinds in an array/range. See the Npgsql.EnableLegacyTimestampBehavior AppContext switch to enable legacy behavior.
Ответы (1 шт):
Все же немного посидев я принял решение не сопротивляться и написать следующую строчку:
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
перед Build().Run(). Так же, её можно вынести в метод ConfigureServices, если таковой у вас имеется. Это решило мою проблему. Возможно в WPF надо будет написать где-то в конструкторе или методе OnStartup