实体框架 6.0 和 Microsoft.Data.SqlClient

2024-01-15

我们正在将本地数据库迁移到 Azure。我们的应用程序使用实体框架 6。安装 ADALSQL.dll 后,使用 System.Data.SqlClient 使用身份验证 Microsoft Active Directory 密码一切正常。当您访问异常消息中引用的站点时,如果未安装此 dll,该站点将响应 404。

遇到意外错误。
System.Data.Entity.Core.EntityException:底层提供程序在打开时失败。
System.Data.SqlClient.SqlException: 无法加载 adalsql.dll (Authentication=ActiveDirectoryPassword)。错误代码:0x2。有关更多信息,请参阅http://go.microsoft.com/fwlink/?LinkID=513072 http://go.microsoft.com/fwlink/?LinkID=513072

几周前它就可用了。

随着 ADALSQL 被弃用,我们正在尝试让应用程序使用Microsoft.Data.SQLClient。我尝试过以下方法:

  • 添加了 Nuget 包Microsoft.Data.SqlClient到项目
  • 添加以下内容到app.config file
<system.data>
    <DbProviderFactories>
        <add name="Microsoft SqlClient Data Provider" 
             invariant="Microsoft.Data.SqlClient" 
             description="Microsoft SqlClient Data Provider for SQL Server" 
             type="Microsoft.Data.SqlClient.SqlClientFactory, Microsoft.Data.SqlClient, Version=5.0.0.0, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5" />
    </DbProviderFactories>
</system.data>
  • 更新了提供者部分EntityFramework的部分app.config文件到以下
<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
        <!--<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />-->
        <provider invariantName="Microsoft.Data.SqlClient"  
                  type="Microsoft.Data.SqlClient.SqlClientFactory, Microsoft.Data.SqlClient, Version=5.0.0.0, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5" />
    </providers>
</entityFramework>
  • 更新了连接字符串以引用提供程序Microsoft.Data.SqlClient
<add name="B2BEntities" 
     connectionString="metadata=res://*/Models.B2B.csdl|res://*/Models.B2B.ssdl|res://*/Models.B2B.msl;provider=Microsoft.Data.SqlClient;provider connection string='data source=

运行应用程序时抛出以下异常:

实体框架提供程序类型“Microsoft.Data.SqlClient.SqlClientFactory、Microsoft.Data.SqlClient、Version=5.0.0.0、Culture=neutral、PublicKeyToken=23ec7fc2d6eaa4a5”的“Instance”成员未返回从“System”继承的对象.Data.Entity.Core.Common.DbProviderServices'。实体框架提供程序必须从此类继承,并且“Instance”成员必须返回提供程序的单例实例。这可能是因为提供商不支持 Entity Framework 6 或更高版本;看http://go.microsoft.com/fwlink/?LinkId=260882 http://go.microsoft.com/fwlink/?LinkId=260882了解更多信息。

任何有关如何使其工作的指导将不胜感激。


我已经发表了https://www.nuget.org/packages/ErikEJ.EntityFramework.SqlServer https://www.nuget.org/packages/ErikEJ.EntityFramework.SqlServer这正是实现这一点的原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实体框架 6.0 和 Microsoft.Data.SqlClient 的相关文章

随机推荐

  • 通过命令行使用苏门答腊pdf批量打印pdf

    自从 Adob e 发布了 Adob e Reader 的新更新 2014 年 9 月 16 日的 11 09 以来 我们在通过命令行打印 pdf 文件时遇到了问题 我们的正式脚本如下所示 job for F tokens 1 delims
  • vuex 未加载用 vuex-module-decorators 装饰的模块

    当尝试将带有 vuex module decorators 的存储模块加载到初始化程序中时 我收到此错误 vuex esm js 2f62 261 未捕获类型错误 无法读取属性 Array forEach 的 eval vuex esm j
  • 在 SQL Server 中存储大量 XML 类型数据的最佳实践

    是否有人可以分享有关在 SQL Server 2008 中存储 XML 字段类型数据的最佳实践 我们有很多小型 XML 结构 但也有一些较大 gt 50MB 我们发现删除时速度有点慢 任何建议 战争故事将不胜感激 我发现到目前为止大多数答案
  • SELECT 语句中有多个条件?

    首先 我没有 ABAP 经验 我在这里只是猜测 我想向现有报表中的 SELECT 添加条件 现有代码如下所示 SELECT SINGLE FROM EKPO WHERE EBELN GT MSEG EBELN AND EBELP GT MS
  • 更改PostgreSQL 9.6中某种数据类型表中的所有列

    似乎几个月前我遇到了一个涉及此问题的问题 但现在我似乎找不到了 基本上 我想做两件事 首先 制作了许多表格 其中有几列numeric 20 2 我想把它们全部改为numeric 对于一列来说 该语句很简单 ALTER TABLE table
  • 如何更改 Visual Studio Code 中的 UI 语言?

    如何更改 UI 语言视觉工作室代码 https code visualstudio com 1 0 于 2016 年 4 月发布 打开VScode 按 F1 并输入 显示 选择 配置显示语言 选择你的语言 上面是已安装的语言 下面是其他语言
  • 如何用Java连接MySQL?

    我已经安装了MYSQL服务器5 1 然后我安装了 mysql connector java 3 0 8 stable bin jar 并将其放入驱动器 c 中 文件夹 core 为 C core 然后在计算机的属性中 我创建带有变量名 CL
  • Three.js 鼠标滚轮用于向上/向下移动相机而不是放大/缩小

    你怎么做到这一点 我使用创建了一个场景三 js编辑器 https threejs org editor 并使用 发布 选项下载该项目 我编辑了 app js 文件以导入 OrbitControls 因此现在我可以使用鼠标滚轮 或者在我的情况
  • 从 pod minikube kubernetes 中的容器公开端口

    我是 K8s 新手 我将尝试使用以下命令在 pod 中运行 2 个容器的 minikube kubectl apply f deployment yaml 和这个deployment yml apiVersion v1 kind Pod m
  • 将图像从图像控件存储到 StorageFile

    如何从 Windows 应用商店应用程序中的图像控件将图像存储到 StorageFile 中 我正在使用以下链接 但这对我来说没有用 StorageFile file await StorageFile CreateStreamedFile
  • 当 Perl 内存不足时,是否有标准的行为方式?

    Perl 解释器 又名 perl 在内存不足时是否有标准的行为方式 是否以任何方式记录 指定 以某种统一的方式编码 我对任何表示为正在运行的 Perl 代码契约的标准特别感兴趣 例如 将die叫做 将要END块被执行 ETC 我对这两个 理
  • 如何使discord.py中的数据以表格形式显示?

    您好 我正在创建一个可以制作积分表 排行榜的机器人 下面是效果非常好的代码 def check ctx return lambda m m author ctx author and m channel ctx channel async
  • Angularjs:如何将范围变量传递给指令?

    我正在尝试使用指令创建多个标签并将其附加到 div 如下所示 module directive createControl function return function scope element attrs console log a
  • 在 R 中添加进度条以复制功能

    我在用replicate经营我自己的analyse函数多次 analyse返回一个列表 results lt replicate reps analyse 有没有办法添加进度条 显示当前完成的复制百分比 我尝试过txtProgressBar
  • 如何自定义 chrome devtools elements 面板上的右键单击

    devtools 元素面板右键单击 https i stack imgur com sufm3 png 看上面的图片 右键单击任何节点都会显示选项菜单 例如 添加属性 和 编辑属性 等 我希望能够扩展右键菜单来添加自定义事件 例如 我需要获
  • 使用 gsub 从字符串中删除模式

    我正在努力删除字符串中下划线之前的子字符串 我想使用 通配符 作为下划线之前的位可以变化 a lt c foo 5 bar 7 a lt gsub a perl TRUE 结果应该如下所示 gt a 1 5 7 我也尝试过类似 or 但并没
  • android:如何在折叠工具栏中添加带有文本的按钮

    如何实现如下布局 我可以在没有添加按钮的情况下实现 但是如何添加ADD按钮和添加按钮在向上滚动时应该随着图像的视差而消失 我发现浮动操作按钮无法添加文本 我必须只使用按钮 我的 xml 布局没有添加按钮
  • 创建 HTML5 画布图案并用它们填充内容

    我有困难 createPattern image repeat 我可以用我自己创建的图案填充一个正方形吗 toDataURL and createPattern 我可以用当前画布上的图案填充一个正方形吗 var canvas documen
  • 您最喜欢的低级代码优化技巧是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 实体框架 6.0 和 Microsoft.Data.SqlClient

    我们正在将本地数据库迁移到 Azure 我们的应用程序使用实体框架 6 安装 ADALSQL dll 后 使用 System Data SqlClient 使用身份验证 Microsoft Active Directory 密码一切正常 当