Я работаю с системой, которая сначала использует код EF, и я хотел бы использовать несколько разреженных столбцов SQL Server в таблице. Мое текущее решение состоит в том, чтобы удалить таблицу, созданную EF, и повторно добавить ее с помощью скрипта во время инициализации базы данных. Можно ли это настроить с помощью Fluent API в классе, унаследованном от EntityTypeConfiguration или другими способами?
Как установить столбец базы данных как разреженный при использовании EF Code First Fluent API?
Ответы (1)
Если вы используете миграцию Entity Frameworks, вы можете создать инструкцию SQL, подобную этой, в файле Up для миграции, добавляющей разреженный столбец:
Sql("alter table TableName alter column ColumnName int sparse");
Даже если вы не используете миграции, любое однократное выполнение dbContext.Database.ExecuteSqlCommand
с тем же SQL будет работать.
Ни один из способов не так хорош, как если бы вы могли явно настроить тип через EF, но они все же лучше, чем удаление и замена всей таблицы.
person
Edward Brey
schedule
17.04.2013
.HasColumnType("INT SPARSE")
? - person Ladislav Mrnka   schedule 12.04.2012(182,6) : error 0040: The Type int sparse is not qualified with a namespace or alias. Only primitive types can be used without qualification.
Спасибо за идею. - person cResults   schedule 03.01.2013