EF 4.1 CF:数据库'master'中的CREATE DATABASE权限被拒绝

Dan*_*sen 9 entity-framework ef-code-first entity-framework-4.1

实体框架4.1 Code First非常适用SQLEXPRESSlocalhost.但是,我现在准备连接到常规SQL 2008 server.

  1. 我创建了一个新的数据库"NewEfDatabase".

  2. 然后改变了我的" ApplicationServices" connectionStringWeb.config,以点到我的安全集成新的数据库.

但后来我得到了这个错误:

" CREATE DATABASE permission denied in database 'master'."

所以...

a)EF 4.1 CF在所述SQL服务器上需要哪些权限才能完成其工作?

b)我可以SQL 2008为EF 4.1 CF 设置一个空的数据库,还是我必须让它为我做所有的工作?(我不确定我的DBA会赞赏让我的EF应用程序有权在特定数据库之外做任何事情)

Sla*_*uma 13

您确定null在代码中设置了数据库初始化程序:

Database.SetInitializer<MyDbContext>(null);
Run Code Online (Sandbox Code Playgroud)

如果初始化程序可能尝试删除或创建新数据库,则所有内置实现.您收到的错误表明EF试图删除/创建数据库,但无权在您的SQL Server实例中执行此操作.上面的这一行是唯一可以避免这种情况的选项,并且适用于(我认为甚至是绝对必要的)实时环境,无论如何你不想意外删除(由于模型更改或某些东西).