首页 > 代码库 > Asp.net MVC + EF6.0 经常出现的问题

Asp.net MVC + EF6.0 经常出现的问题

1.运行视图时出现问题:未能加载文件或程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

原因:EntityFramework版本不一致时造成的。

解决办法:查看所有引用的EntityFramework版本是否一致(不一致时,尽量不要修改实体中的EntityFramework版本)

2.System.InvalidOperationException”类型的异常在 EntityFramework.dll 中发生,但未在用户代码中进行处理其他信息: 在应用程序配置文件中找不到名为“OAEntities”的连接字符串。

原因:Config没有对应的连接字符串

解决办法:查看实体中的App.config EF连接字符串是否在Web.Config中也有。

3.指定的架构无效。错误 :  DataModel.ssdl(2,2) :  错误 0152:  未找到具有固定名称 “System.Data.SqlClient”的  ADO.NET  提供程序的实体框架提供程序。请确保在应用程序配置文件的 “entityFramework” 节中注册了该提供程序

解决办法:

 将以下代码添加至web.config配置文件中即可: < entityFramework >

    < providers >

      < provider   invariantName = " System.Data.SqlClient "   type = "System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer "  />

    </ providers >

</ entityFramework >

添加完之后又会出现以下问题: 

2.无法为具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类型“System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer”。请确保使用限定程序集的名称且该程序集对运行的应用程序可用。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=260882。

解决办法:

为Web项目添加EntityFramework.SqlServer.dll的引用即可(可通过NuGet查找并引用)。

Asp.net MVC + EF6.0 经常出现的问题