我是Entity Framework的新手,我正在尝试设置此教程:
https://github.com/entityframeworktutorial/EF6-DBFirst-Demo
在自述文件中,它要求我首先在Visual Studio 2017中打开项目,我使用了2019,因为这是安装在我的系统上,所以希望这不是一个问题。
第二,它要求“打开MS SQL Server 2012并附加SchoolDBidodf(包含在EF 6DBFirstDemo文件夹中)”这花了我几天的时间才弄清楚,因为我安装了几个版本的MSSQL Server 2012,所以我将它们全部删除并安装了一个版本。
此外,我把所有文件的文件夹到我的桌面下我的当前用户嵌套了一点(旁边的所有其他应用程序,我正在管理).不幸的是,这样做,我不能导航到.mdf文件在MSSQL管理工作室,所以我不得不复制这个文件到一个位置,是可见的管理工作室,原来是'C:/Program Files/Microsoft SQL Server/MSSQL11.SQLEXPRESS/MSSQL/DATA',无论如何,我最终得到了数据库安装,我可以看到的表等现在.
第三步是“在Visual Studio中验证App.config中的连接字符串,并确保它指向您的本地DB服务器。”由于完全不知道这是如何完成的,我在Visual Studio中交叉手指并单击Go图标。应用程序当然会立即崩溃。
我的问题是,要使App.config文件指向我的特定本地数据库,我到底需要更改什么。下面是该文件当前的副本:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<connectionStrings>
<add name="SchoolDBEntities"
connectionString="metadata=res://*/School.csdl|
res://*/School.ssdl|
res://*/School.msl;
provider=System.Data.SqlClient;
provider connection string=
"data source=.;
initial catalog=SchoolDB;
integrated security=True;
MultipleActiveResultSets=True;
App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
我有一种感觉,它不工作的原因是因为代码存在于我的用户目录中,它试图到达的数据库是从C/Program files/whatever安装的,但这只是一种直觉。
有什么想法吗?
1条答案
按热度按时间hgqdbh6s1#
对于
data source
,请指定与您通过SSMS连接时使用的服务器名称相同的名称。由于您使用的是Express Edition(根据文件路径的建议),因此本地命名示例规范可能应为data source=.\SQLEXPRESS
。