我正在尝试学习 ASP.Net - 并遵循 mvc 教程:http://www.asp.net/mvc/tutorials/mvc-music-store-part-4 http://www.asp.net/mvc/tutorials/mvc-music-store-part-4(注:我对 .Net 框架(C# 和 ASP.Net 都是全新的)
一开始,教程建议使用 SQL Server Compact 4.0 - 但是,我安装了 SQL Server Express(因为我之后将使用它,而不仅仅是为了教程)
SELECT @@VERSION AS [Version]
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) Apr 2 2010 15:53:02 Copyright (c) Microsoft Corporation Express Edition with Advanced Services on Windows NT 6.1 <X64> (Build 7600: ) (WOW64)
现在,当我为教程设置数据库连接时遇到了麻烦。将其添加到 Web.config 的教程步骤:
<connectionStrings>
<add name="MusicStoreEntities"
connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
但这不起作用——而且很确定这是因为我使用的 SQL Server 不同。关于如何进行这项工作的建议?
我尝试将providerName更改为“System.Data.SqlClient”,但它仍然不起作用,并且我也尝试了以下操作:
<connectionStrings>
<add
name="MusicStoreEntities"
connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|MvcMusicStore.sdf"
providerName="System.Data.SqlClient" />
</connectionStrings>
但它仍然无法正常工作,但出现以下异常:提供程序没有返回 ProviderManifestToken 字符串
如果您能帮助设置此 ASP.Net - SQL Server Express 2008,我们将不胜感激!
EDIT
看来现在我可以正常工作了,至少可以连接到数据库:
现在,显然数据库是空的 - 除了为数据库“SampeData.cs”下载一些资产文件并将其添加到 Global.asax.cs Application_Start 方法之外,教程甚至没有提到实例化数据库:
System.Data.Entity.Database.SetInitializer(new MvcMusicStore.Models.SampleData());
现在,有两件事:
在调试模式下,Application_Start 中的上面一行似乎没有被命中(我确实尝试过重建解决方案)
现在我收到以下错误:无法检查模型兼容性,因为数据库不包含模型元数据。确保 IncludeMetadataConvention 已添加到 DbModelBuilder 约定中。
我想我缺少实例化数据库中的数据 - 但不确定如何/什么 - 教程没有说太多