2017-08-28 111 views
0

我想在实体框架迁移中为我的数据库启用代理。我迁移添加到我的项目,编写代码的Up方法:在实体框架迁移中更改数据库

Sql("ALTER DATABASE current SET ENABLE_BROKER", true); 

这段代码可以正常运行的SQL Server 2014年,但是当我改变我的目标数据库的SQL Server 2008 R2 Express中,我得到这个错误:

Incorrect syntax near the keyword 'current'

如何更改代码以正确运行所有类型的SQL Server实例?

回答

0

2012 SQL之前,你必须使用数据库名称。像这样的批次:

declare @sql nvarchar(max) = N'ALTER DATABASE ['+db_name()+N'] SET ENABLE_BROKER;' 
exec(@sql); 

应该工作。

0

尝试使用实际的数据库名称

ALTER DATABASE 'DatabaseName' SET ENABLE_BROKER 
+0

我的数据库名称是动态的,所以我不能设置常量名称 –

相关问题