首页 > 代码库 > 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 经常出现的问题