让 BLToolkit 与 MySQL 一起工作
Posted
技术标签:
【中文标题】让 BLToolkit 与 MySQL 一起工作【英文标题】:Getting BLToolkit to work with MySQL 【发布时间】:2009-10-22 09:55:33 【问题描述】:嘿,我目前正在尝试让 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】:默认情况下,MySqlDataProvider
不包含在构建中。您必须下载源代码并将MySqlDataProvider.cs
作为“现有项”添加到您的项目中(并适当地修改程序集限定的类型名称)。或者,如果您对重新编译 BLToolkit 感到满意,您可以将其包含在 BLToolkit 项目本身中。
【讨论】:
啊啊,我明白了。将其设置为编译 MySQLProvider 并删除强命名,现在它工作得很好,谢谢:) Oracle 使用 ODP.net 是否也是如此? @JayG,是的,使用 odp.net 时也需要这样做。以上是关于让 BLToolkit 与 MySQL 一起工作的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法让 MySQL 与 Visual Studio 2012 Express 一起工作?
似乎无法让 tagsinput-typeahead 与远程 MySQL 源一起工作
如何让 concurrent.futures ProcessPoolExecutor 与字典一起工作?