Как принудительно использовать значения по умолчанию во вставке с ядром EntityFramework?C#

Место общения программистов C#
Anonymous
Как принудительно использовать значения по умолчанию во вставке с ядром EntityFramework?

Сообщение Anonymous »

Если при добавлении записи с помощью EntityFramework Core я хочу принудительно назначить столбцу, имеющему значение по умолчанию, другое значение, будет использовано значение по умолчанию.
SQL сильный>

Код: Выделить всё

CREATE TABLE MyEntity(
Id INT IDENTITY(1,1) NOT NULL,
MyProperty1 VARCHAR(50),
MyBool BIT NOT NULL DEFAULT 1
);
.NET[/b]

Код: Выделить всё

public void insertNewMyEntity()
{
MyEntity me = New MyEntity();
me.MyProperty1 = "Testing insert and default values with EF Core";
me.MyBool = 0;
dbContext.MyEntity.Add(me);
dbContext.SaveChanges();
}
В базе данных MyBool = 1, поскольку EntityFramework отправляет следующую команду:

Код: Выделить всё

INSERT INTO MyEntity(MyProperty1) VALUES ("Testing insert and default values with EF Core");
Вместо:

Код: Выделить всё

INSERT INTO MyEntity(MyProperty1, MyBool) VALUES ("Testing insert and default values with EF Core", 0);
Я мог бы добавить аннотацию данных [DataGenerated(DataGeneratedOption.None)] в MyBool, но я не хочу повторять все аннотации данных во всех объектах после каждое поколение классов с помощью EF.

Подробнее здесь: https://stackoverflow.com/questions/406 ... ework-core

Вернуться в «C#»