Sql server web api http get给出了;“在数据库主控中创建数据库权限被拒绝”;

Sql server web api http get给出了;“在数据库主控中创建数据库权限被拒绝”;,sql-server,entity-framework,asp.net-web-api,database-first,Sql Server,Entity Framework,Asp.net Web Api,Database First,我有一个数据库叫XyzDB。一切都完成了,我很高兴 我有一个使用实体框架的WebAPI项目(我从数据库生成实体模型,所以不是先编码) 当我使用fiddler用一个简单的Get http方法查询表时。我得到一个错误: 数据库主机中的创建数据库权限被拒绝 但是,我不想创建数据库。我只想执行一个简单的get方法并返回一个json结果 非常感谢您的帮助。默认情况下,如果数据库不存在,DbContext将创建该数据库,但如果数据库已经存在,则不会执行迁移 在DbContext的构造函数中,只需添加Data

我有一个数据库叫XyzDB。一切都完成了,我很高兴

我有一个使用实体框架的WebAPI项目(我从数据库生成实体模型,所以不是先编码)

当我使用fiddler用一个简单的Get http方法查询表时。我得到一个错误:

数据库主机中的创建数据库权限被拒绝

但是,我不想创建数据库。我只想执行一个简单的get方法并返回一个json结果


非常感谢您的帮助。

默认情况下,如果数据库不存在,DbContext将创建该数据库,但如果数据库已经存在,则不会执行迁移

在DbContext的构造函数中,只需添加Database.SetInitializer(null)即可防止生成数据库

您还应该检查App.Config中的连接字符串,因为默认情况下它连接到主数据库。如果是OLEDB for Sql Server,请添加“初始目录=[您的数据库]”,以便连接到正确的数据库


数据库是否存在?您使用的是DropCreateDatabaseAlways或DropCreateDatabaseIfModelChanges之类的数据库初始值设定项吗?我试图在解决方案中搜索您指定的短语,但在哪里都看不到它们。所以我猜答案是否定的。那么您的数据库在connectionString的指定服务器上不存在,并且用户没有创建ItI的权限。我只是删除了EF模型并注释了所有连接字符串,然后重新添加了它。还是一样的错误。但是,如果我能阅读表格并将其添加到模型中,那么con字符串必须是正确的。是的……我有点笨。:)我正在连接我的测试服务器,而不是我的实时服务器。测试上的数据库具有不同的名称。因此出现了错误。你是对的,数据库不存在。谢谢你的回答。我觉得有点傻,在我遇到另一个错误后,我尝试了你的Database.SetInitialaizer,这让我找到了解决方案。猜猜看……我连接错了服务器,数据库不存在。:)谢谢你的帮助。