王胜龙的博客
OrmLite-其他

执行存储过程

db.Proc("sp_name", DictBuilder.Assign("p1", 21).Assign("p2", "p2 value"),true); //直接执行 var cmd = db.Proc("sp_name", DictBuilder.Assign("p1", 21).Assign("p2", "p2 value")); //返回cmd,自己处理后续结果,如果有输出参数,可以在这里添加到cmd中 using (var reader = cmd.ExecuteReader()) { var list = TransformForDataReader.ReaderToObjectList<Person>(reader); //TransformForDataReader类中提供了许多从reader读取数据的方法 }

事务模板

using (var db = DB.Open()) { db.EnsureOpen(); var trans = db.BeginTransaction(); try { var flag1 = trans.Update(new Person { Id = 1, Name = "loogn2" }); var flag2 = trans.Insert(new Person { Id = 2, Name = "loogn1" }); if (flag1 > 0 && flag2 > 0) { trans.Commit(); } else { trans.Rollback(); } } catch (Exception exp) { trans.Rollback(); } }

使用连接对象的BeginTransaction获取事务对象,在事务对象上执行方法即可;
事务对象上有和连接对象相同发方法;

使用mysql数据库(sqlite步骤一样)

1. 引入 Loogn.OrmLite.MySql.dll ``` PM> Install-Package Loogn.OrmLite.MySql ``` 2. 在程序启动时注册mysql命令提供程序 ```csharp OrmLite.RegisterProvider(MySqlCommandDialectProvider.Instance); ``` 3. 实例化MySqlConnection进行使用 ```csharp using (var db = new MySqlConnection("server=.;uid=root;pwd=root;database=test")) { // do what you like... } ```

全局配置

OrmLite.DefaultKeyName属性配置默认主键名,默认是 "ID";

OrmLite.UpdateIgnoreFields属性全局配置整体修改时忽略的字段名,默认是:["AddTime","AddDate"],可根据项目增减

上一篇     目录     没有了