连接到。\ SQLExpress没有连接字符串

时间:2014-04-07 18:29:36

标签: asp.net-mvc entity-framework

我们的小组有一个现有的应用程序app1,由离开公司的人编写。我们希望构建一个类似的应用程序app2,具有类似的后端,希望将来合并这两个应用程序。

我目前正在尝试了解app1的工作原理,并且我在本地运行时难以确定如何指定与本地数据库的连接。通常,人们会期望web.config文件通过connectionStrings指定要连接的数据库,但app1不是这种情况。标签中没有包含任何元素:

<connectionStrings>

</connectionStrings>

我已经验证应用程序创建并使用位于sql server 2008 r2(.\SQLExpress)的本地实例中的数据库。但是,在使用类似配置的app2上工作时,它会在App_Data目录中创建一个.mdf文件。我找不到任何告诉app1使用.\sqlexpress的内容。如何将app2配置为与app1类似?

2 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。我得到了像底层提供商无法打开的错误。 那时我所做的只是右键单击本地数据库并修改了我的连接,即数据源。

示例:您必须显示当前.MDF文件位置的路径。最好放在app_data中。

从那时起,一切都很酷

我可以帮助你的任何事情请告诉我。

问候

答案 1 :(得分:0)

我已经弄清楚了。

事实证明,EF会根据您机器上的可用内容更改您的web.config。当我创建app2时,我当时没有安装本地数据库引擎.\sqlexpress。在这种情况下,EF create会在web.config中添加以下内容:

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
</entityFramework>

创建app2后的一段时间,我安装了一个本地数据库。来自新应用程序app3的web.config文件包含此内容:

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<entityFramework>

此外,app1没有这些,所以它似乎默认为后一种行为。

在创建项目时看起来我的问题归因于我的机器配置。