Entity Framework 4.1 Code First与SQLEXPRESS
上的localhost
一起使用时效果很好。但是,我现在准备连接到常规的SQL 2008 server
。
ApplicationServices
中的“connectionString
” Web.config
更改为指向具有集成安全性的新数据库。 但是然后我得到这个错误:
“
CREATE DATABASE permission denied in database 'master'.
”所以...
a)EF 4.1 CF在上述SQL服务器上需要什么权限才能工作?
b)是否可以在
SQL 2008
上为EF 4.1 CF设置一个空数据库,还是必须让它为我完成所有工作? (我不确定我的数据库管理员会喜欢让我的EF应用程序有权在特定数据库之外执行任何操作)
最佳答案
您确定在代码中将Database Initializer设置为null
吗?
Database.SetInitializer<MyDbContext>(null);
如果初始化程序可能尝试删除或创建新数据库,则为所有内置实现。您收到的错误表明EF尝试删除/创建数据库,但无权在您的SQL Server实例中这样做。上面的行是通常避免这种情况的唯一选择,并且无论您不想意外删除(由于模型更改或其他原因),都适用于实时环境(我认为甚至是绝对必要的)。
关于entity-framework - EF 4.1 CF : CREATE DATABASE permission denied in database 'master' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5584546/