【问题标题】:BLToolkit using a MySQL connectionBLToolkit 使用 MySQL 连接
【发布时间】:2012-09-11 08:38:33
【问题描述】:

我正在尝试使用 BLToolkit 建立与 MySQL 服务器的连接,并已通过 NuGet 安装了 MySql.Data (6.5.4)、BLToolkit (4.1.12) 和 BLToolkit.MySql (4.1.12)。我可以在一行中建立到 MSSQL 服务器的连接,但是在使用 MySQL 时遇到了问题,最终得到了以下配置文件...

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <BLToolkit>
        <dataProviders>
            <add type="BLToolkit.Data.DataProvider.MySqlDataProvider" />
        </dataProviders>
    </BLToolkit>
    <configSections>
        <section name="BLToolkit" type="BLToolkit.Configuration.BLToolkitSection, BLToolkit.4" />
    </configSections>
    <connectionStrings>
        <add name="Test"
             connectionString="Data Source=localhost;Port=3306;Database=bltest;User ID=root;Password=root;"
             providerName="MySql.Data.MySqlClient" />
    </connectionStrings>
</configuration>

我扩展了 DbManager 类以实现对表的引用,并将连接字符串的名称传递给基类。这就是我实现这种行为的方式,它应该告诉 BLToolkit 从配置文件中加载 connectionString ...

class BlDb : DbManager {
    public BlDb()
        : base("Test") {
        return;
    }
    public Table<Car> Car { get { return GetTable<Car>(); } }
    public Table<Make> Make { get { return GetTable<Make>(); } }
}

但是,会引发异常。例外是“'BLToolkit.Data.DbManager' 的类型初始化程序引发了异常。”内部异常是“配置系统初始化失败”。我应该如何进行?请注意,SO Getting BLToolkit to work with MySQL 上确实存在类似的问题,这可能对您有帮助,但对我来说没有任何意义。安装两个 NuGet 包还不够吗?

【问题讨论】:

    标签: c# .net bltoolkit


    【解决方案1】:

    首先您需要将 BLToolkit.Data.DataProvider.MySql.4.dll 的引用添加到您的项目中。然后修改你的扩展 DbManager 类,如下所示

    class BlDb : DbManager
    {
        public BlDb()
            : base( new BLToolkit.Data.DataProvider.MySqlDataProvider(), "Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword" )
        {           
        }
        public Table<Car> Car { get { return GetTable<Car>(); } }
        public Table<Make> Make { get { return GetTable<Make>(); } }
    }
    

    您可以替换硬编码的连接字符串并从您的 app.config 文件中返回它,例如 ConfigurationManager.ConnectionStrings["Test"].ConnectionString

    【讨论】:

    • 按预期工作。如果有人有同样的问题,请注意您需要从配置文件中删除您可能添加的垃圾并改用它。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    相关资源
    最近更新 更多