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


    博客地址 http://blog.csdn.net/foxdave

    近期了解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)中添加这个方法

    public void FixEfProviderServicesProblem()
    {
    //The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'
    //for the 'System.Data.SqlClient' ADO.NET provider could not be loaded. 
    //Make sure the provider assembly is available to the running application. 
    //See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.
    
    var instance = System.Data.Entity.SqlServer.SqlProviderServices.Instance;
    }

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

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

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

  • 相关阅读:
    网络流24题
    Preliminaries for Benelux Algorithm Programming Contest 2019
    2019 ICPC Asia Xuzhou Regional
    2019 ICPC Asia Nanjing Regional
    后缀自动机学习
    2018 ACM-ICPC 焦作区域赛 E Resistors in Parallel
    2019 ICPC 上海区域赛总结
    LA 3641 Leonardo的笔记本 & UVA 11077 排列统计
    UVA 10294 项链与手镯 (置换)
    CF 1288 E. Messenger Simulator
  • 原文地址:https://www.cnblogs.com/justinliu/p/5961656.html
Copyright © 2020-2023  润新知