我使用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>
答案 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