Сначала я использую EF Core 3.1.2 с базой данных. Я пытаюсь вставить запись в таблицу, которая имеет значения по умолчанию для некоторых столбцов Guid, не обнуляемых. Значения по умолчанию устанавливаются функциями в базе данных. Используя EF, я не устанавливаю никаких значений для этих столбцов, так как они будут установлены сервером SQL. Или, по крайней мере, это было раньше в EF Core 2.2.6. В EF Core 3.1.2 сгенерированные SQL для вставки содержат значения по умолчанию C# для этих столбцов (пустые направляющие), что предотвращает генерирование значений функциями в БД.
Пример: сгенерированный код для столбца со значением по умолчанию выглядит следующим образом:
entity.Property(e => e.IdStatusAnforderung)
.HasColumnName("ID_StatusAnforderung")
.HasDefaultValueSql("([dbo].[ufn_GetStatusAnforderungID]('New'))");
Так что я не устанавливаю никакого значения в IdStatusAnforderung, так как функция ufn_GetStatusAnforderungID должна установить его. Проблема в том, что EF Core 3.1.2 генерирует вставку sql, которая имеет Guid.Empty для IdStatusAnforderung и ufn_GetStatusAnforderungID не вызывается.
Есть ли изменение торможения, связанное со значениями по умолчанию, и как я могу это исправить?