Как мне установить поле для DBNull в Entity Framework

dbnull entity-framework

Вопрос

Как установить поле DBNull в Entity Framework? Поля строго типизированы, поэтому вы не можете установить его равным DBNull.Value, и я не нашел никакого способа установить поле в DBNull. Кажется, это необходимо сделать, но после долгих исследований Google я ничего не нашел.

Я пытаюсь установить поле даты и времени в Entity Framework, используя vb.net. Это требует от меня, чтобы написать

 myEntity.mydate = Nothing

Это не устанавливает в поле значение null, а вместо этого устанавливает его в значение даты по умолчанию, которое не является допустимым значением даты в SQL Server.

Принятый ответ

Если столбец обнуляется в базе данных, у класса результата также будет свойство обнуляемости.

Например, если в таблице Order есть обнуляемый столбец Datetime именем CreatedDate , то результирующий класс Order будет выглядеть примерно так:

public partial class Order: EntityObject
{
  ...
  private DateTime? _createdDate;
  ...
}

Если при createdDate ObjectContext.SaveChanges() _ createdDate не имеет значения, System.DBNull будет автоматически отправляться в базу данных как часть команды вставки или обновления.

Надеюсь, это поможет Алекс


Популярные ответы

Установите значение поля в null . Entity Framework переведет это в System.DBNull .



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow