【发布时间】:2015-11-20 16:39:50
【问题描述】:
我想确保在 SQL Server 中启用特定功能。我目前正在使用 EF6 迁移来生成我的更改脚本。我正在对 SQL Server 2012 和 SQL Server CE 4 使用我的迁移(用于我的映射的基本单元测试)。 SQL Server CE 不支持我要启用的特定功能。
如何创建仅适用于 SQL Server 的迁移?
这里是有问题的迁移:
public partial class EnableSnapshotIsolation : DbMigration
{
public override void Up()
{
Sql(@" ALTER DATABASE CURRENT
SET READ_COMMITTED_SNAPSHOT ON", true);
Sql(@" ALTER DATABASE CURRENT
SET ALLOW_SNAPSHOT_ISOLATION ON", true);
}
public override void Down()
{
Sql(@" ALTER DATABASE CURRENT
SET READ_COMMITTED_SNAPSHOT OFF", true);
Sql(@" ALTER DATABASE CURRENT
SET ALLOW_SNAPSHOT_ISOLATION OFF", true);
}
}
注意:我们会手动部署更改脚本。一个人打开一个 SSMS 窗口并执行脚本。作为构建打包过程的一部分,我使用 update-database -script 命令提供了一个更改脚本。所以 EF 没有创建数据库。
【问题讨论】:
标签: sql-server entity-framework-6 entity-framework-migrations sql-server-ce-4