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

StackOverflow https://stackoverflow.com/questions/820752

  •  03-07-2019
  •  | 
  •  

Вопрос

Как установить поле 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;
  ...
}

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

Надеюсь, это поможет Alex

Другие советы

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

Я никогда не использовал Entity-Framework, но можете ли вы превратить переменную в обнуляемый тип?

что-то вроде

dim entityVar as nullable(of date)

тогда вы можете ничего не делать, и ничего не останется.

но, как я уже сказал, я никогда не пользовался структурой сущностей

просматривая Google, я обнаружил, что отчет об ошибках в Microsoft Connect

scroll top