sql-server - 无法找到请求的.Net Framework 数据提供程序。它可能没有安装。 - 当遵循 mvc3 asp.net 教程时

标签 sql-server asp.net-mvc asp.net-mvc-3 dataprovider

我正在关注 ASP.NET MVC 3 音乐商店应用程序教程,但我一直陷入第 4 部分:http://www.asp.net/mvc/tutorials/mvc-music-store-part-4 。它一直告诉我我没有安装 SQL 数据提供程序:

确切的错误:

System.ArgumentException was unhandled by user code
  Message=Unable to find the requested .Net Framework Data Provider.  It may not be installed.
  Source=System.Data
  StackTrace:
       at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
       at System.Data.Entity.Internal.LazyInternalConnection.TryInitializeFromAppConfig(String name)
       at System.Data.Entity.Internal.LazyInternalConnection.Initialize()
       at System.Data.Entity.Internal.LazyInternalConnection.get_ConnectionHasModel()
       at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
       at System.Data.Entity.Internal.InternalContext.Initialize()
       at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
       at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
       at System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator()
       at System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator()
       at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
       at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
       at MusicApplication.Controllers.StoreController.Index() in C:\Users\Michelle\documents\visual studio 2010\Projects\MusicApplication\MusicApplication\Controllers\StoreController.cs:line 18
       at lambda_method(Closure , ControllerBase , Object[] )
       at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
       at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
       at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
  InnerException: 

我已经添加了对 System.Data.SqlServerCe 的引用 - 仍然有相同的错误。任何指导将非常感激

最佳答案

我能够使用 NuGet 在 Visual Studio 2010 中解决类似的问题。

转到“工具”>“库包管理器”>“管理解决方案的 NuGet 包...”

在对话框中,搜索“EntityFramework.SqlServerCompact”。您将找到一个描述为“允许 SQL Server Compact 4.0 与 Entity Framework 一起使用”的包。安装此软件包。

类似于以下内容的元素将被插入到您的 web.config 中:

<entityFramework>
  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
    <parameters>
      <parameter value="System.Data.SqlServerCe.4.0" />
    </parameters>
  </defaultConnectionFactory>
</entityFramework>

关于sql-server - 无法找到请求的.Net Framework 数据提供程序。它可能没有安装。 - 当遵循 mvc3 asp.net 教程时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6865249/

相关文章:

sql - 将值转换为单行

sql-server - 错误消息 : Incorrect Syntax near'. '.在 SQL Server 中

SQL Server - 如何从日期时间字段中选择日期时间

sql-server - 从 Excel 中选择时出现 Microsoft.ACE.OLEDB.12.0 文本截断错误

asp.net - 如何在 ASP.NET MVC 自定义验证中指定错误成员键?

sql-server - 带有记录数的 mvc 发布列表不起作用

asp.net - 默认Internet应用程序ASP.NET MVC中如何显示错误页面

javascript - 在 asp.net mvc3 中,如果大小超过 4mb,则无法上传文件

javascript - 在单页 js 应用程序中保留身份验证 token 的安全方法

jquery - 使用 javascript 调用操作并导致回发