实体框架 – EF 4.1 CF:CREATE DATABASE权限被拒绝在数据库’master’

实体框架4.1代码首先在本地主机上使用SQLEXPRESS.但是,我现在可以连接到一个常规的SQL 2008服务器.

>我创建了一个新的数据库“NewEfDatabase”.
>然后在Web.config中更改我的“ApplicationServices”connectionString,指向具有集成安全性的新数据库.

但是我得到这个错误:

“数据库”主“中的CREATE DATABASE权限被拒绝.

所以…

a)EF 4.1 CF在SQL服务器上需要哪些权限来完成工作?

b)我可以在SQL 2008上为EF 4.1 CF设置一个空数据库,还是要让它为我做的所有工作? (我不确定我的DBA是否会喜欢让我的EF应用程序有权在特定数据库之外执行任何操作)

最佳答案
你确定在你的代码中设置你的数据库初始化程序为null:

Database.SetInitializer<MyDbContext>(null);

如果初始化程序可能尝试删除或创建新的数据库,所有内置的实现.您收到的错误表明,EF尝试删除/创建数据库,但在SQL Server实例中没有这样做.上面的一行是唯一可以避免这种情况的一般方法,并且适合(我认为甚至绝对必要)对于不想意外删除(由于模型更改或某些东西)的现场环境.

转载注明原文:实体框架 – EF 4.1 CF:CREATE DATABASE权限被拒绝在数据库’master’ - 代码日志