.Net下使用BLToolkit ORM访问 MySql 的注意事项

来源:互联网 发布:ug编程视频教程 编辑:程序博客网 时间:2024/06/10 20:38

.Net 的 ORM框架 在MySql上试过几个. DBLinq, 这个类似于Linq to Sql, BUG太多了; Linq to Entity, 这个也试了,很多特性不支持,写起来很不方便。

 

论到兼容性、稳定性,最后还是觉得BLToolkit最优.

 

BLToolkit提供了对数据库访问的多层次封装。可以用ADO.Net的封装,可以用Entity ORM, 也可以用Linq, 使用起来非常方便。

 

而且它支持各种各样的数据库

 

ClassProvider NameNamespace VendorAccessDataProviderAccessSystem.Data.OleDbMicrosoftOdbcDataProviderOdbcSystem.Data.OdbcMicrosoftOleDbDataProviderOleDbSystem.Data.OleDbMicrosoftOracleDataProviderOracleSystem.Data.OracleClientMicrosoft (deprecated by Microsoft in FW 4.0)SqlDataProviderSqlSystem.Data.SqlClientMicrosoftDB2DataProviderDB2IBM.Data.DB2IBMFdpDataProviderFdpFirebirdSql.Data.FirebirdClientFirebirdInformixDataProviderInformixIBM.Data.InformixIBMMySqlDataProviderMySqlMySql.Data.MySqlClientSun MicrosystemsOdpDataProviderODPOracle.DataAccess.ClientOracleSqlCeDataProviderSqlCeSystem.Data.SqlServerCeMicrosoftSQLiteDataProviderSQLiteSystem.Data.SQLiteSQLite.orgSybaseAdoDataProviderSybaseAdoSystem.Data.OleDbSupport for DataDirect Sybase ADO ProviderSybaseDataProviderSybase ASESybase.Data.AseClient

Sybase

 

 


 

准备好Mysql, 安装好 Mysql connector , http://www.mysql.com/downloads/connector/net/

现在的最新版本是 6.3.6, 最好不要使用 Windows 32bit那个版本,Windows 2008服务器可是64位的哦。

 

安装完 MySql Connector后, 你可以将MySql.Data.dll拷贝到你的网站目录下,或者干脆直接加入到GAC里面去。

 


然后下载BLToolkit Lib, http://bltoolkit.net, 你可以选择下载源代码 或者直接使用它编译好的dll

 

引入工程后,就可以在*.config里面进行配置了

 

 

这里需要注意,如果你是直接使用 编译好的BLToolkit dll, 那么上面配置中的 assembly redirection那节很可能是需要的,因为你机器上的MySql.Data.dll版本可能和BLToolkit要求的版本不一致。 你也可以自己编译BLToolkit来避免这个问题。

我从它的SVN上获取到最新的版本,用VS2010编译通过了,这样简单些。

 

现在就配置完了。

 

---------

关于SQL语句中变量的问题

 

MySql有一种老式的变量命名风格 ?XXX 和 新式的变量风格 @XXXX,而BLToolkit.Data.DataProvider.MySqlDataProvider中却是默认使用老式的变量风格

 

如果你想使用 新式的变量,像下面一样

 

那么你就需要修改 MySqlDataProvider的默认配置, 将它的构造函数直接改成