我们的团队有一个现有的应用程序app1
,由离开公司的人编写。我们希望构建一个具有类似后端的类似应用程序app2
,以期在未来整合这两个应用程序。
我目前正在努力了解app1是如何工作的,但我对它在本地运行时如何指定与本地数据库的连接感到困惑。通常,人们会期望web.config文件指定通过connectionStrings
连接到哪个数据库,但app1的情况并非如此。标签中不包含任何元素:
<connectionStrings>
</connectionStrings>
我已经验证了该应用程序创建并使用了位于sql server 2008 r2(.SQLExpress
(本地实例中的数据库。但是,在使用类似配置的app2时,它会在App_Data
目录中创建一个.mdf文件。我找不到告诉app1使用.sqlexpress
的任何内容。如何配置app2使其行为与app1类似?
我遇到了类似的问题。我遇到了一个类似于底层提供者的错误,无法像那样打开。在那一刻,我所做的只是右键单击本地数据库并修改我的连接,即数据源。
示例:您必须显示当前.MDF文件位置的路径。在app_data中始终处于更好的位置
从那时起,一切都很好
有什么我能帮你的,请告诉我。
问候
我已经想通了。
事实证明,EF会根据您机器上的可用内容更改您的web.config。当我创建app2
时,我当时还没有安装本地数据库引擎.sqlexpress
。在这种情况下,EF创建将以下内容放入web.config中:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
</entityFramework>
创建app2
一段时间后,我安装了一个本地数据库enginge。来自新应用程序app3
的web.config文件包含以下内容:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<entityFramework>
此外,app1
没有这两种行为,因此它似乎默认为后一种行为。
看起来我的问题是由于我的机器在创建项目时的配置造成的。