InvalidCastException: Column 'title_img_path' is null - ошибки и решения

  • Михаил
  • 2 мин. на прочтение
  • 170
  • 22 Feb 2023
  • 27 Feb 2023

Имеем старый проект, в котором в таблицах полно полей со значением NULL. При запуске получаем ошибку InvalidCastException: Column 'title_img_path' is null.

Пути решения

Данную проблему можно решить двумя способами. В .net 6.0 либо вам нужно использовать свойство с нулевым значением, как в разделе 2 ниже (что вы и сделали), либо вам нужно глобально отключить обнуляемое свойство в разделе propertyGroup в файле проекта, как показано ниже (раздел 1):

Решение 1:

  
    net6.0
    enable
    disable
  

Было

Стало

Если вы отключите Nullableсвойство глобально на уровне проекта, вам не нужно использовать свойство nullable (используя?) во всем проекте.

Решение 2:

public string? title_img_path { get; set; }

Анализ нулевого состояния и аннотации переменных по умолчанию отключены для существующих проектов, что означает, что все ссылочные типы по-прежнему могут принимать значения NULL. Начиная с .NET 6, они включены по умолчанию для новых проектов. https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references