我在VS 2012中用EF5创建了MVC4解决方案,现在我试图让数据库创建Code First。在创建控制器的方法我添加了db.Database.CreateIfNotExists();
在我的机器上,我也有SQL Server 2012运行,并且我想在那里创建数据库而不是在某些SQL Express引擎或其他轻量级解决方案中。用于EF5的SQL Server 2012连接字符串代码优先
我已经尝试了几种方法来制作正确的连接字符串,但都失败了,现在我不知道它应该如何显示。这是现在的样子,但没有被创建,以及所有我从CreateIfNotExists
得到的是一个错误:
- 的InnerException {“,而与SQL Server建立连接时出现与网络相关的或特定于实例的错误。验证实例名称是否正确,并且SQL Server已配置为允许远程连接(提供程序:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)“} System.Exception的{} System.Data.SqlClient.SqlException
这是我的连接字符串的样子:
<add name="Tool.Models.Context" connectionString="Server=MSSQLSERVER;Initial Catalog=Tool.models.ToolDb.mdf;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
编辑:
这个问题挣扎了将近一天后,我代localhost
为MSSQLSERVER
(这仍然是实例的名称,如果我看配置管理器)解决它。感谢您的意见。让我想到。
似乎您在名为MSSQLSERVER的主机上没有默认实例,或者别名MSSQLSERVER没有很好定义。 – tschmit007
您可以使用SSMS访问此服务器吗?为什么在连接字符串初始目录中有.mdf?您只需指定数据库名称即可。 – Nilesh