Как мне установить поле для DBNull в Entity Framework
-
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 а> р>