我們都知道ORM全稱叫做Object Relationship Mapper,也就是可以用object來map我們的db。 而且市面上的orm框架有很多,有重量級的Entity Framework,有輕量級的Dapper、PetaPoco等 假如你喜歡原生的Sql語句、又喜歡ORM的簡單、... ...
我們都知道ORM全稱叫做Object Relationship Mapper,也就是可以用object來map我們的db。
而且市面上的orm框架有很多,有重量級的Entity Framework,有輕量級的Dapper、PetaPoco等
假如你喜歡原生的Sql語句、又喜歡ORM的簡單、又追求高性能,那麼輕量級的ORM框架是你的不二選擇。
說到輕量級ORM框架Dapper的名氣比較大(因為出自名門?),但我卻選擇使用PetaPoco,因為:
- 提供了更易用的API
- Dapper僅提供了一系列Query的重載,用於將SQL映射為實體
- PetaPoco除此之外還提供了Insert/Update/Delete/Save/分頁等一系列Helper方法,如下圖:
- 還可以指定表名、主鍵等
- 更詳細示例用法請參見官網上的DEMO:http://www.toptensoftware.com/petapoco/
- 性能與Dapper不相上下(我自測比Dapper更快)
- 按Dapper官網(https://github.com/StackExchange/dapper-dot-net)的測試結果PetaPoco性能排名第4,Dapper第2
- 第1是硬編碼,第3的ServiceStack.OrmLite是收費的,並且依賴項太多,Dapper與PetaPoco都是單個.cs文件沒依賴項
- 我自己寫的測試對比結果發現PetaPoco比Dapper要快,具體大家可自測
- 按Dapper官網(https://github.com/StackExchange/dapper-dot-net)的測試結果PetaPoco性能排名第4,Dapper第2
截至2016-10-05時PetaPoco還不支持.NET Core,但有源碼移植到.NET Core上也不是難事,下麵是我移植好的代碼,大家可自行下載
下載地址:單擊下載