关注了两个库的使用方式,一个是Dapper,一个是Simple.Data.考虑一个可选的是ORMLite,

Dapper和simple.data都比较好用,动态对象的使用妙不可言,区别在于

//Dapper
using (var cnn = SimpleDbConnection())
{
cnn.Open();
customer.Id = cnn.Query<long>(
@"INSERT INTO Customer
( FirstName, LastName, DateOfBirth ) VALUES
( @FirstName, @LastName, @DateOfBirth );
select last_insert_rowid()", customer).First();
}
//Simple.data
db.Users.Insert(Name: "Steve", Password: "Secret", Age: );
public User FindUserByEmail(string email)
{
return Database.Open().Users.FindAllByEmail(email).FirstOrDefault();
}

比较起来,Dapper更轻巧,着眼于IDBConnection的扩展使用,SQL的生成偏重于文本模板理念,所以Dapper不需要针对特定数据库进行包装。

Simple.Data的SQL生成基于动态方法和属性,例如上面的例子,Users和FindAllByEmail不需要定义,Simple.Data会对此解释后生成特定的SQL。

至于Simple.Data为什么要对数据库要进行包装,暂时不研究,暂时使用Dapper这个库,我现在对Sqlite数据库的使用比较轻度。

两篇参考文章:

SQLite + Dapper = Simple Data Access Layer

Simple.Data for Microsoft .NET Data Access Layer

sqlite采用的ORM包的更多相关文章

  1. CentOS7采用tar.gz包方式安装Mysql5.7

    软件:VMware Linux版本:CentOS 7 一.安装mysql(采用tar.gz包安装Mysql5.7) 1.安装开发工具包 [root@localhost ~]# yum groups m ...

  2. sqlite 下载的 ZIP 包的区别

    https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki sqlite-netFx20-binary-bundle- ...

  3. redhat6.2 clang编译环境搭建(采用源码包编译安装)

    1. About clang++ office site:http://clang.llvm.org/ A major focus of our work on clang is to make it ...

  4. [转]Android项目快速开发框架探索(Mysql + OrmLite + Hessian + Sqlite)

    前言 结合之前所用的ormlite和hessian,再加上SAE已经支持JAVA,把服务端切换到JAVA,也就有了本文.使用hessian来做数据传输,ormlite来实现客户端与服务端的数据存储,极 ...

  5. SQlite数据库框架:LitePal

    常用的数据库框架Android的发展的速度是难以置信的,Android出来哪一年我还在小学上学很,还能很清楚的记得,那年一切,但是那个时候的我怎么可能也不会想到自己将来会要去做Android.Andr ...

  6. Android目前流行三方数据库ORM分析及对比

    Android 平台上的数据库框架非常多,但是有一个共同特点就是基于对象关系映射(ORM)模型的.实现的目标也都是不需要写SQL语句,通过对对象的操作保存和操作数据.要是从语法的简洁性来说都有自己的特 ...

  7. 我的ORM之十二 -- 支持的数据库及差别

    我的ORM索引 支持最好的是SqlServer2005,Sqlserver2008,SqlServer2012 ,后续将支持:MySql,Sqlite,Oracle. 1.分页差别 MsSql 200 ...

  8. Sqlite学习笔记(一)&&编译安装

    Sqlite简介 sqlite是一个开源的嵌入式文件数据库,sqlite以动态链接库的方式供应用程序调用,所有的数据库对象都存储在同一个文件中. sqlite动态库非常小,最新的3.8.11版本也只有 ...

  9. SQLite剖析之体系结构

    1.通过官方的SQLite架构文档,理清大体的系统层次:Architecture of SQLite 2.阅读SQLite Documentation中Technical/Design Documen ...

随机推荐

  1. 深入JVM-锁与并发

    一.锁在Java虚拟机中的实现与优化 1.1 偏向锁 偏向锁是JDK 1.6 提出的一种锁优化方式.其核心思想是,如果程序没有竞争,则取消之前已经取得锁的线程同步操作.也就说,若某一锁被线程获取后,便 ...

  2. IOS 学习笔记之UI

    自定义控件,实现部分 - (id)initWithFrame:(CGRect)frame descriptionText:(NSArray *)inText/*需要输入两个字符串*/ { self = ...

  3. js初学—实现checkbox全选功能

    布局如下: <p ><input type="checkbox" id="che1"/>全选</p><div id=& ...

  4. ASP------如何使界面布局具有一致外观

    使用布局页或布局块的方法 转载: http://www.runoob.com/aspnet/webpages-layout.html

  5. MySQL------如何将SQLServer文件数据迁移到MySQL

    转载: http://blog.csdn.net/zhangdaiscott/article/details/46412453

  6. ef6 缓存的问题没有了

    public static void Main(string[] args) { PMTestEntities db = new PMTestEntities(); var users = db.Us ...

  7. [转载]将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,解决办法

    eclipse 代码中文注释乱码 求解决 将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclips ...

  8. PyCharm 教程(四)显示行号

    PyCharm 教程(四)显示行号 在PyCharm 里,显示行号有两种办法: 1,临时设置.右键单击行号处,选择 Show Line Numbers. 但是这种方法,只对一个文件有效,并且,重启Py ...

  9. ecshop上传图片2

    html代码 <tr> <td class="label">{$lang.lab_picture}</td> <td> <in ...

  10. 项目管理知识框架PMBOK(文字版)

    项目管理知识框架PMBOK   项目整体管理[I](Integration) 1. 制定项目章程(Develop Project Charter) 2. 制定项目初步范围说明书(Develop Pre ...