我正在使用Enterprise Library 4.1。
我有一个新功能要实现,它需要使用mysql。
我找到了Enterprise Library Contrib,它增加了使用MySQL和Enterprise Lib的功能。
效果很好。
要使其工作,您需要调用方法'DatabaseFactory.CreateDatabase(connectionStringName);'就像你通常做的那样。连接字符串名称存储在配置中,并链接到数据库提供程序映射配置部分。
作为例子:
<dataConfiguration defaultDatabase="MyDefaultDb">
<providerMappings>
<add databaseType="EntLibContrib.Data.MySql.MySqlDatabase, EntLibContrib.Data.MySql, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
name="MySql.Data.MySqlClient" />
</providerMappings>
</dataConfiguration>
<connectionStrings>
<add name="MyDefaultDb"
connectionString=""
ProviderName="System.Data.SqlClient" />
<add name="acb_leaderboards"
providerName="MySql.Data.MySqlClient"
connectionString="" />
</connectionStrings>
不幸的是,我的应用程序将连接到多个MySQL数据库,并且不断变化。我不能在配置中指定mysql连接字符串。
我想基于providerMapping配置创建一个MySQL数据库对象。
我该怎么做?
谢谢。
PS。 英语不是我的第一语言,我正在努力。
答案 0 :(得分:0)
如果您提前知道您正在使用MySql,并假设MySqlDatabase类遵循与核心Entlib中的Database类相同的模式,那么您可以直接新建它,您不必通过工厂方法。
Database mySql = new MySqlDatabase(currentConnectionString);
应该正常工作。如果从配置中提取命名连接字符串,则只需要通过工厂。