【问题标题】:Error-Attempt by method 'X.set_DbConnection(System.Data.Common.DbConnection)' to access method 'Y.get_Settings()' failed错误 - 方法“X.set_DbConnection(System.Data.Common.DbConnection)”访问方法“Y.get_Settings()”失败
【发布时间】:2018-05-07 14:29:40
【问题描述】:

我创建了一个控制台应用程序并使用 EntityFramework 6.2(用于连接 MS SQL)、MySql.Data 8.0.11 和 MySql.Data.Entity 6.10.7(用于连接 MySQL)。

在这个应用程序中,我想创建一个类似 SQL 作业的作业,但我不想使用 quertz.net。我有错误:

“通过方法 'MySql.Data.Entity.EFMySqlCommand.set_DbConnection(System.Data.Common.DbConnection)' 尝试访问方法 'MySql.Data.MySqlClient.MySqlConnection.get_Settings()' 失败。”

【问题讨论】:

    标签: c# mysql entity-framework console-application


    【解决方案1】:

    MySql.Data.Entity 6.10.7 与MySql.Data 8.0.11 不兼容。

    对于 v8.x,Oracle renamed the packageMySql.Data.EntityFramework。你需要卸载MySql.Data.Entity并安装MySql.Data.EntityFramework

    【讨论】:

    • 我如何(或在哪里)看到这些不兼容的东西?在我的项目中,我有:MySql.Data" version="8.0.13" , MySql.Data.Entity" version="6.10.8" ,MySql.Data.EntityFrameworkCore" version="8.0.13" 和 MySql.Data。 EntityFrameworkCore.Design" 版本="8.0.13"。也需要卸载?
    • @Neumann 卸载“MySql.Data.Entity 版本=6.10.8”。所有的 MySql.Data 包都需要在同一个主要版本,即 8.0。
    • 我卸载了 MySql.Data.Entity 6.10.8,看起来效果最好。但是现在我从提供者配置中收到了一个错误:没有找到 System.Data.Entity.Infrastructure.SqlConnectionFactory。如何更改 ef 提供程序配置?
    【解决方案2】:

    我遇到了同样的错误,但已经引用了“MySql.Data.EntityFramework”。 我的问题出在配置文件上。我不得不改变这个:

    收件人:

    【讨论】:

      【解决方案3】:

      他们肉汤谢谢,你救了我的命。我已经失去了 5 个多小时试图弄清楚发生了什么。伙计们不要忘记把你的数据库上下文。

      [DbConfigurationType(typeof(MySql.Data.EntityFramework.MySqlEFConfiguration))]  
      

      【讨论】:

        猜你喜欢
        • 2014-06-19
        • 1970-01-01
        • 2023-01-31
        • 1970-01-01
        • 1970-01-01
        • 2011-10-27
        • 1970-01-01
        • 2019-12-28
        相关资源
        最近更新 更多