因为工作原因经常用到SQLITE数据库,但又找不到好用的ORM所以自个整理了一个简单好用的轻量极ORM框架:Easyliter
功能介绍:
1、支持SQL语句操作
2、支持 List<T>和DataTable两种返回格式
3、支持拉姆达表达示进行数据查询和分页
4、内置创建实体类函数
5、依赖于 System.Data.SQLite
使用方法如下:
static void Main(string[] args) { var connstr = "DataSource=" + System.AppDomain.CurrentDomain.BaseDirectory + "mapping.sqllite"; //依赖于 System.Data.SQLite Easyliter e = new Easyliter(connstr); //从数据库创建类 var createCalss1 = e.CreateCalss("Sqlite.Model"/*命名空间*/, @"D:\工作\Sqlite\Sqlite\model"/*路径*/); //根据SQL语句创建类,多表查询会用到 var createCalss2 = e.CreateCalssBySql("Sqlite.Model", @"D:\工作\Sqlite\Sqlite\model", "viewproduct", "select id,sku from product "); //删除 // e.Delete<Product>(100); // e.Delete<Product>(new int [] {1,2,3}); //更新 //e.Update<Product>(new { sku = "x2",category_id=1 }, new { id=434 }); ////添加 //Product p = new Product() //{ // category_id = 2, // sku = "sku", // title = "title" //}; //e.Insert<Product>(p); ////根据sql查询 List<Product> list = e.Select<Product>("select * from product where id>@num", new { num=100 }); //无条件 List<Category> list2 = e.Select<Category>(); //单条件 List<Product> list3 = e.Select<Product>(x=>x.id>200); //多条件 List<Product> list4 = e.Select<Product>(x => x.id > 200, x=> x.sku=="skx"||x.sku==null); //多条件分页 int count = 0; List<Product> list5 = e.SelectPage<Product>(1,10,ref count," id desc", x =>x.id > 10 ,//条件1 x=>true);//条件2 ...条件N //var dt = e.GetDataTable("select * from product order by id desc"); }
源码地址:http://git.oschina.net/sunkaixuan/Easyliter