我正在尝试从我的Entity Framework模型生成数据库表,但是当我执行生成查询时出现此错误:
Database 'Database' does not exist. Make sure that the name is entered correctly.
我能够很好地连接到本地服务器。
我的连接字符串,当我选择'Database.mdf'时由VS生成:
metadata=res://*/Models.Models.csdl|res://*/Models.Models.ssdl|res://*/Models.Models.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
数据库肯定存在,但我注意到它在服务器上拾取的唯一数据库称为master,model,msdb和tempdb。
有人可以帮忙吗?
编辑:我刚刚意识到单击“执行SQL”时出现的SQL连接对话框允许您连接到服务器。但我的数据库不在服务器上,它只是一个用户实例数据库。但这是唯一的选择,那么我将如何针对我的数据库执行?我在“服务器资源管理器”中打开了数据库。
答案 0 :(得分:2)
连接字符串是指user instance database是你的意图吗?我的印象可能不是来自这个问题。
如果没有尝试将其更改为Data Source=ServerName\InstanceName;Initial Catalog=Database;Integrated Security=True;
答案 1 :(得分:1)
如果您使用的是用户实例数据库,请使用USE指令指定数据库位置的完整路径。 例如:
USE [C:\Project\Database.mdf]
GO
答案 2 :(得分:1)
连接服务器时,需要选择其他数据源,然后输入数据库所在的本地服务器的名称。
答案 3 :(得分:0)
我不能代表实体框架,但在SQL中,“数据库”是一个(非常)保留字。尝试调用您的数据库(及其文件),即使只是“MyDatabase”。
答案 4 :(得分:0)
在SQL Server Management Studio中运行脚本以在我的本地SQL Server 上执行某些操作时,我遇到了此类问题。我注意到在其中运行脚本的查询窗口已连接到远程SQL Server ,而不是我的本地计算机。