Получение BLToolkit для работы с MySQL - PullRequest
1 голос
/ 22 октября 2009

Привет, я сейчас пытаюсь заставить 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 'выдал исключение.»

При ближайшем рассмотрении кажется, что это строка 261 в DbManager.Config.cs

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

Который в основном не может получить тип провайдеров MySQL. Я попытался поместить MySQL.data.dll в путь запуска приложений, но безуспешно.

Есть идеи?

1 Ответ

2 голосов
/ 22 октября 2009

По умолчанию MySqlDataProvider не включено в сборку. Вам нужно будет загрузить исходный код и добавить MySqlDataProvider.cs в качестве «Существующего элемента» в свой проект (и соответствующим образом изменить имя типа с учетом сборки). Или, если вам подходит перекомпиляция BLTooklit, вы можете включить его в сам проект BLToolkit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...