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

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

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

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

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

Class

Provider Name

Namespace

Vendor

Access

System.Data.OleDb

Microsoft

Odbc

System.Data.Odbc

Microsoft

OleDb

System.Data.OleDb

Microsoft

Oracle

System.Data.OracleClient

Microsoft (deprecated by Microsoft in FW 4.0)

Sql

System.Data.SqlClient

Microsoft

Fdp

FirebirdSql.Data.FirebirdClient

Informix

IBM.Data.Informix

ODP

Oracle.DataAccess.Client

SqlCe

System.Data.SqlServerCe

Sybase ASE

Sybase.Data.AseClient

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

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

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

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

publicKeyToken="c5687fc88969c44d"

culture="neutral" />

newVersion="6.3.6.0"/>

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

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

现在就配置完了。

---------

关于SQL语句中变量的问题

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

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

public abstract class MachineAccessor : DataAccessor

{

[ScalarSource(ScalarSourceType.AffectedRows)]

[SqlQuery(@"UPDATE machine SET LastAccessTime = NOW(), LastAccessIP = @lastAccessIP, FirstAccessTime = IFNULL(FirstAccessTime, NOW()) WHERE SerialNumber = @serialNumber")]

public abstract int UpdateLastAccess(string serialNumber, string lastAccessIP);

}

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

static MySqlDataProvider()

{

ConfigureNewStyle();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值