ASP.NET MVC4 & Entity Framework 6.0 IIS 部署出错解决方案

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 近期了解MVC4的时候弄了一个简单的小工程,使用Entity Framework作为Model,F5启动调试运行的时候没有问题,但是发布到IIS之后访问就报错错误信息如下:The Entity Framework provider type 'System.

近期了解MVC4的时候弄了一个简单的小工程,使用Entity Framework作为Model,F5启动调试运行的时候没有问题,但是发布到IIS之后访问就报错

错误信息如下:

The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application.

很奇怪,搜索了一下,找到一个老外的帖子,戳这里

解决方案如下:

在EF的上下文代码CS文件(Model1.Context.cs)中添加这个方法

 
 在CODE上查看代码片派生到我的代码片
  1. public void FixEfProviderServicesProblem()  
  2. {  
  3. //The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'  
  4. //for the 'System.Data.SqlClient' ADO.NET provider could not be loaded.   
  5. //Make sure the provider assembly is available to the running application.   
  6. //See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.  
  7.   
  8. var instance = System.Data.Entity.SqlServer.SqlProviderServices.Instance;  
  9. }  

 

不明所以,具体原因还是不清楚,这个方法也从来未被调用过,但是。。。好用了!

此解决方案还需要后续进行观测,毕竟修改的是根据数据库生成的文件。

还有一种方案我没有尝试,可以强制部署EntityFramework.SqlServer.dll这个文件到输出目录,有兴趣的可以尝试。

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
IIS服务器发布ASP.NET项目
对于云服务器,程序员一般不会陌生,如果项目需要发布到现网,那么服务器是必不可缺的一项硬性条件,那么如何在云服务器上部署一个项目,需要做哪些配置准备,下面就由本文档为大家讲解,本篇以IIS服务器发布ASP.NET项目为例。
124 1
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
348 3
WPF开发者必读:揭秘ADO.NET与Entity Framework数据库交互秘籍,轻松实现企业级应用!
【8月更文挑战第31天】在现代软件开发中,WPF 与数据库的交互对于构建企业级应用至关重要。本文介绍了如何利用 ADO.NET 和 Entity Framework 在 WPF 应用中访问和操作数据库。ADO.NET 是 .NET Framework 中用于访问各类数据库(如 SQL Server、MySQL 等)的类库;Entity Framework 则是一种 ORM 框架,支持面向对象的数据操作。文章通过示例展示了如何在 WPF 应用中集成这两种技术,提高开发效率。
154 0
Entity Framework Core——.NET 领域的 ORM 利器,深度剖析其最佳实践之路
【8月更文挑战第28天】在软件开发领域,高效的数据访问与管理至关重要。Entity Framework Core(EF Core)作为一款强大的对象关系映射(ORM)工具,在 .NET 开发中扮演着重要角色。本文通过在线书店应用案例,展示了 EF Core 的核心特性和优势。我们定义了 `Book` 实体类及其属性,并通过 `BookStoreContext` 数据库上下文配置了数据库连接。EF Core 提供了简洁的 API,支持数据的查询、插入、更新和删除操作。
174 0
ASP.NET Core 部署HTTPS
ASP.NET Core Kestrel部署HTTPS1,在program.cs中CreateHostBuilder 替换成如下内容:public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseServ...
182 0
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
140 0
ASP.NET Core Kestrel部署HTTPS
ASP.NET Core Kestrel部署HTTPS1,在program.cs中CreateHostBuilder 替换成如下内容:public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseServ...
85 0
教你如何在WINDOWS Server2003上部署一个Asp.Net的网站
教你如何在WINDOWS Server2003上部署一个Asp.Net的网站
386 0

热门文章

最新文章