使用EF Code First Fluent API时如何将数据库列设置为“稀疏”?

时间:2012-04-12 12:54:53

标签: entity-framework code-first dbcontext sparse-matrix

我正在使用首先使用EF代码的系统,我想在表上使用许多SQL Server稀疏列。我目前的解决方案是删除EF创建的表,并在数据库初始化期间通过脚本重新添加。这是可以在从EntityTypeConfiguration或其他方式继承的类中使用Fluent API配置的吗?

1 个答案:

答案 0 :(得分:3)

如果您使用Entity Frameworks迁移,则可以在Up方法中为添加稀疏列的迁移发出类似这样的SQL语句:

Sql("alter table TableName alter column ColumnName int sparse");

即使您不使用迁移,也可以使用相同的SQL执行dbContext.Database.ExecuteSqlCommand的任何一次性。

这两种方式都不像你可以通过EF明确配置类型一样好,但它们仍然比删除和替换整个表更好。