实体框架4.1代码首先在数据库'master'中拒绝CREATE DATABASE权限

时间:2011-09-06 10:24:06

标签: entity-framework

我使用Entity Framework 4.1创建了一个通用存储库项目,当它作为现有项目添加到我们的项目时,它可以很好地工作,但是当它被引用为dll时它不适用于它们。

我收到此错误

  

在数据库“master”中拒绝CREATE DATABASE权限。

但是我添加了app.config文件,并将相关的连接字符串设置为我的SQL Server 2005数据库(我使用DbContext作为我的上下文类型)

请帮帮我。

这是我的连接字符串:

<configuration>
   <connectionStrings>
      <add name="TasksEntities" 
           connectionString="server=(local); database=Tasks; trusted_connection=false; User=sa; Password=****; Persist Security Info=True" 
           providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

3 个答案:

答案 0 :(得分:7)

我自己就碰到了这个。连接字符串名称必须与DbContext子类的类名完全匹配。如果它没有EF将找不到连接字符串,并将尝试回退做其他事情(SQL嵌入?),这在我的机器上不起作用(我安装了完整的SQL Server)。

答案 1 :(得分:2)

如果您正在使用多个项目,则必须验证您的connectionstring的配置位置。如果解决方案中的启动项目已配置了连接字符串,并且在包管理器控制台中指向了也配置了EF迁移的项目(在&#34;默认项目&#34;)。

您可以使用程序包管理器中的命令 Update-Database -Verbose 运行启动项目和源迁移,或者指定将参数放在命令中:

Update-Database -SourceMigration MvProject.Data -StartUpProjectName MyProject.Web -Verbose

答案 2 :(得分:0)

似乎连接字符串中的凭据应该具有在服务器上创建数据库的权限。登录到数据库服务器并检查您的用户帐户是否具有正确的权限。这将是http://www.sqlservercurry.com/2008/04/resolving-create-database-permission.html