zoukankan      html  css  js  c++  java
  • No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'

    异常描述:

    System.Data.Entity.Core.MetadataException: Schema specified is not valid. Errors:
    PaycenterModels.ssdl(2,2) : error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the provider is registered in the 'entityFramework' section of the application config file. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.
    在 System.Data.Entity.Core.Metadata.Edm.StoreItemCollection.Loader.ThrowOnNonWarningErrors()
    在 System.Data.Entity.Core.Metadata.Edm.StoreItemCollection.Loader.LoadItems(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths)
    在 System.Data.Entity.Core.Metadata.Edm.StoreItemCollection.Loader..ctor(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths, Boolean throwOnError, IDbDependencyResolver resolver)
    在 System.Data.Entity.Core.Metadata.Edm.StoreItemCollection.Init(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths, Boolean throwOnError, IDbDependencyResolver resolver, DbProviderManifest& providerManifest, DbProviderFactory& providerFactory, String& providerInvariantName, String& providerManifestToken, Memoizer`2& cachedCTypeFunction)
    在 System.Data.Entity.Core.Metadata.Edm.StoreItemCollection..ctor(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths)
    在 System.Data.Entity.Core.Metadata.Edm.MetadataCache.LoadStoreCollection(EdmItemCollection edmItemCollection, MetadataArtifactLoader loader)
    在 System.Data.Entity.Core.Metadata.Edm.MetadataCache.<>c__DisplayClass5.<>c__DisplayClass7.<GetMetadataWorkspace>b__1()
    在 System.Lazy`1.CreateValue()
    在 System.Lazy`1.LazyInitValue()
    在 System.Lazy`1.get_Value()
    在 System.Data.Entity.Core.Metadata.Edm.MetadataCache.<>c__DisplayClass5.<>c__DisplayClass7.<GetMetadataWorkspace>b__4()
    在 System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace.LoadAndCheckItemCollection[T](Func`1 itemCollectionLoader)
    在 System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace.<>c__DisplayClass16.<.ctor>b__f()
    在 System.Lazy`1.CreateValue()
    在 System.Lazy`1.LazyInitValue()
    在 System.Lazy`1.get_Value()
    在 System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace.GetItemCollection(DataSpace dataSpace, Boolean required)
    在 System.Data.Entity.Core.Metadata.Edm.MetadataWorkspace.GetItemCollection(DataSpace dataSpace)
    在 System.Data.Entity.Core.Objects.ObjectContext.InitializeMappingViewCacheFactory(DbContext owner)
    在 System.Data.Entity.Core.Objects.ObjectContext..ctor(EntityConnection connection, Boolean isConnectionConstructor, ObjectQueryExecutionPlanFactory objectQueryExecutionPlanFactory, Translator translator, ColumnMapFactory columnMapFactory)
    在 System.Data.Entity.Internal.InternalConnection.CreateObjectContextFromConnectionModel()
    在 System.Data.Entity.Internal.LazyInternalConnection.CreateObjectContextFromConnectionModel()
    在 System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
    在 System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
    在 System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
    在 System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
    在 System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider()
    在 System.Linq.Queryable.Where[TSource](IQueryable`1 source, Expression`1 predicate)
    在 PaymentBLL.NewPayApplyBLL.GetPaidOrder(String orderNo, ThirdPayPlatformEnums thirdPayPlatform) 位置 d:SourceProjectinfrastructure.PayCenter runkPaymentPlatformPaymentBLLNewPayApplyBLL.cs:行号 30
    在 PaymentBLL.QRCodeBLL.Refund(String requestJson) 位置 d:SourceProjectinfrastructure.PayCenter runkPaymentPlatformPaymentBLLQRCodeBLL.cs:行号 132
    在 PaymentPlatform.QRCodeDemo.Refund.submit_Click(Object sender, EventArgs e) 位置 d:SourceProjectinfrastructure.PayCenter runkPaymentPlatformPaymentPlatformQRCodeDemoRefund.aspx.cs:行号 63

    解决办法:

    右键解决方案→管理Nuget程序包,选中“EntityFramework”,点击“管理”,在弹出框里选择要安装EF的项目,点击“OK”即可。

    完成后,在web.config里多了如下节点配置:

    <configuration>
      <configSections> 
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      </configSections>
      <entityFramework>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
          <parameters>
            <parameter value="v11.0" />
          </parameters>
        </defaultConnectionFactory>
        <providers>
          <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
        </providers>
      </entityFramework>
    </configuration>

     同时,引用里多了EntityFramework的2个包:

  • 相关阅读:
    php小结
    HTML-WEB前端-photoshop切图抠图详解
    JS面向对象的程序设计
    AJAX同步与异步的区别
    数据库的优化
    phpcms网站搬家 至 服务器 完整并且详细过程
    phpcms网页替换验证码功能 及 搜索功能
    用phpcms切换中英文网页的方法(不用解析二级域名)、phpcms完成pc和手机端切换(同一域名)
    JS常用屏蔽代码
    信息安全政策(隔离与监控)
  • 原文地址:https://www.cnblogs.com/buguge/p/6679583.html
Copyright © 2011-2022 走看看