dapper

Net下无敌的ORM 

1,Dapper是一个轻型的ORM类。代码就一个SqlMapper.cs文件,编译后一个很小的Dll.

2,Dapper很快。Dapper的速度接近与IDataReader,取列表的数据超过了DataTable。

3,Dapper支持什么数据库。Dapper支持Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等一系列的数据库,当然如果你知道原理也可以让它支持Mongo db

4,Dapper的r支持多表并联的对象。支持一对多 多对多的关系。并且没侵入性,想用就用,不想用就不用。无XML无属性。代码以前怎么写现在还怎么写。

5,Dapper原理通过Emit反射IDataReader的序列队列,来快速的得到和产生对象。性能实在高高高。

6,Dapper支持net2.0,3.0,3.5,4.0。【如果想在Net2.0下使用,可以去网上找一下Net2.0下如何配置运行Net3.5即可。】

7,Dapper语法十分简单。并且无须迁就数据库的设计。

 

dapper:4.5.2

 

using Dapper;
using System.Data;
using System.Data.SqlClient;

namespace ConsoleApplication12
{
class Program
{
static void Main(string[] args)
{
IDbConnection connection = new SqlConnection("server=10.153.49.126;database=mydb;uid=sa;pwd=q1w2e3r$");

////插入单条记录
//var result = connection.Execute("Insert into Users values (@UserName, @Email, @Address)",
// new { UserName = "jack", Email = "380234234@qq.com", Address = "上海" });

////批量插入
//var usersList = Enumerable.Range(0, 10).Select(i => new Users()
//{
// Email = i + "qq.com",
// Address = "安徽",
// UserName = i + "jack"
//});
//var result = connection.Execute("Insert into Users values (@UserName, @Email, @Address)", usersList);

//查询
var query = connection.Query<Users>("select * from Users where UserName=@UserName", new { UserName = "jack" });

//更新
var result = connection.Execute("update Users set UserName='nary' where ID = @ID", new { ID = 36 });

//删除
var result1 = connection.Execute("delete from Users where ID = @ID", new { ID = 36 });

}
}
}

 

 

 

 

class Users
{

public int ID
{
get;
set;
}

public string UserName
{
get;
set;
}


public string Address
{
get;
set;
}

public string Email
{
get;
set;
}

}  

 

posted on 2017-03-14 14:16  zjone391  阅读(143)  评论(0编辑  收藏  举报