標籤:
因為工作原因經常用到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
基於.NET C#的 sqlite 資料庫 ORM 【Easyliter】