最近在学习ASP.NET MVC时遇到的问题(项目环境为Win7 专业版,Visual Studio 2012):按照W3School教程上搭建的项目,到了使用VS2012根据Model自动导入控制器和视图时,出现了“找不到请求的.NET Framework Data Provider。可能没有安装。”警告(如图1):
图1
网上的解决方案为:http://blog.sina.com.cn/s/blog_6158b3f90100y7ns.html,本人已安装Microsoft SQL Server Compact 4.0,所以直接按照文中的第二个方法:
“打开C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config,复制DbProviderFactories节点下的内容,
替换C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\machine.config 中的相应位置。”
之后出现“无法检索“MVCDemo1.Models.MoviesDB”的元数据。Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used.”警告(如图2):
图2
于是在网上搜集解决方案,试了多种办法以后终于解决。解决方案为:找到项目中Web.config中的<connectionStrings>标签,将’<... providerName="System.Data.SqlServerCe.4.0"/>‘改为‘<...providerName="System.Data.SqlClient"/>’,然后添加控制器成功,系统也自动添加了改视图。如图3:
图3
生成控制器和视图成功后记得把<...providerName="System.Data.SqlClient"/>再改回<...providerName="System.Data.SqlServerCe.4.0"/>,否则连不上数据库的。
这篇文章就结束了,刚开的博客,第一篇博文,希望大家多多指教!
-- 2015.5.21