让BLToolkit与MySQL一起工作

时间:2009-10-22 09:55:33

标签: c# mysql orm

Heya,我目前正在努力让bltoolkit在我的项目中工作。 我已将BLToolkit.3项目添加到我的解决方案中并正确引用它。

有问题的代码非常简单。

    public List<Account> LoadAccounts()
    {
        using (DbManager db = new DbManager("MySql"))
        {
            var query = new SqlQuery<Account>();
            return query.SelectAll(db);
        }
    }

使用

的app.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="bltoolkit" type="BLToolkit.Configuration.BLToolkitSection, BLToolkit.3"/>
  </configSections>

  <bltoolkit>
    <dataProviders>
      <add type="BLToolkit.Data.DataProvider.MySqlDataProvider" />
    </dataProviders>
  </bltoolkit>

  <connectionStrings>
    <add name="MySql" connectionString="Server=localhost;Port=3306;Database=BLT;Uid=root;" providerName="MySql.Data.MySqlClient"/>
  </connectionStrings>
</configuration>

当我尝试运行它时,我得到以下异常:“'BLToolkit.Data.DbManager'的类型初始值设定项引发异常。”

仔细检查后,它似乎是DbManager.Config.cs中的第261行

Type             dataProviderType = Type.GetType(provider.TypeName, true);

这基本上无法获得MySQL提供商类型。我已经尝试将MySQL.data.dll放在我的应用程序运行路径中,没有运气。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

默认情况下,MySqlDataProvider未包含在构建中。您必须下载源代码并将MySqlDataProvider.cs添加为“现有项目”到项目中(并适当地修改程序集限定的类型名称)。或者,如果您可以重新编译BLTooklit,则可以将其包含在BLToolkit项目中。