前面有TX留言问分页的sql是怎么样的,看完这篇你也就知道了。
组件可以输出执行的sql,方便查看sql生成的语句是否有问题。
通过注册事件来输出sql
DbSession.Default.RegisterSqlLogger(database_OnLog);
+ logMsg;
}
然后通过执行
DbSession.Default.UnregisterSqlLogger(database_OnLog);来注销注册的事件。
这里是例子是asp.net
DbSession.Default.From<Products>()
.InnerJoin<Suppliers>(Suppliers._.SupplierID == Products._.SupplierID)
.Page(10, 2)
.Select(Products._.ProductID, Products._.ProductName)
.ToDataTable();
执行上面的语句输出的sql语句如下:
ASC
再来一个
DbSession.Default.From<Products>().Where(Products._.CategoryID == 2).ToFirst();
生成的sql语句如下
Parameters:
@ae2b9c6a112545e5b56fa6dc70f32ac1[Int32] = 2
这下组件生成的sql语句可以一目了然了,sql语句的输出也大大方便了调试。
下一节将讲述WhereClip(条件)的生成。