[Table("Users")]//真实表名
publicclass User
{
[Key]
publicint UserId { get; set; }
[Column("strFirstName"] //真实列名
publicstring FirstName { get; set; }//列别名
publicstring LastName { get; set; }
publicint Age { get; set; }
} var user = connection.Get<User>();

改动后该查询相当于sql

Select UserId, strFirstName as FirstName, LastName, Age from[Users]where UserId =@UserID

  2.GetList方法

publicstatic IEnumerable<T> GetList<T>(this IDbConnection connection)

  

publicclass User
{
publicint Id { get; set; }
publicstring Name { get; set; }
publicint Age { get; set; }
}

查询全部

var user = connection.GetList<User>();  

相当于Sql

Select*from[User]

使用条件实体查询

publicclass User
{
publicint Id { get; set; }
publicstring Name { get; set; }
publicint Age { get; set; }
} var user = connection.GetList<User>(new { Age = 10 });

  

Select*from[User]where Age =@Age

  

//使用字符串条件查询
publicclass User
{
publicint Id { get; set; }
publicstring Name { get; set; }
publicint Age { get; set; }
} var user = connection.GetList<User>("where age = 10 or Name like '%Smith%'");

  

//相当于SQL
Select*from[User]where age =10or Name like'%Smith%'

  

//分页查询:
publicstatic IEnumerable<T> GetListPaged<T>(this IDbConnection connection, int pageNumber, int rowsPerPage, string conditions, stringorderby) publicclass User
{
publicint Id { get; set; }
publicstring Name { get; set; }
publicint Age { get; set; }
} var user = connection.GetListPaged<User>(1,10,"where age = 10 or Name like '%Smith%'","Name desc");

  

//相当于SQl:
SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY Name desc) AS PagedNumber, Id, Name, Age FROM [User] where age = 10 or Name like '%Smith%') AS u WHERE PagedNUMBER BETWEEN ((1 - 1) * 10 + 1) AND (1 * 10)

  

//插入方法
publicstaticint Insert(this IDbConnection connection, object entityToInsert) [Table("Users")]
publicclass User
{
[Key]
publicint UserId { get; set; }
publicstring FirstName { get; set; }
publicstring LastName { get; set; }
publicint Age { get; set; } //Additional properties not in database [Editable(false)]
publicstring FullName { get { returnstring.Format("{0} {1}", FirstName, LastName); } }
public List<User> Friends { get; set; }
[ReadOnly(true)]
public DateTime CreatedDate { get; set; }
} var newId = connection.Insert(new User { FirstName = "User", LastName = "Person", Age = 10 });
//相当于SQL
Insertinto[Users] (FirstName, LastName, Age) VALUES (@FirstName, @LastName, @Age)

  

//更新方法
[Table("Users")]public class User{
[Key]publicint UserId { get; set; }
[Column("strFirstName")]public string FirstName { get; set; }
public string LastName { get; set; }
publicint Age { get; set; } //Additional properties notindatabase[Editable(false)]public string FullName { get { return string.Format("{0} {1}", FirstName, LastName); } }
public List<User> Friends { get; set; }
}
connection.Update(entity);
//相当于SQL
Update[Users]Set (strFirstName=@FirstName, LastName=@LastName, Age=@Age) Where ID =@ID

  删除方法:

public static intDelete<T>(this IDbConnection connection, int Id)

public class User{
publicint Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
publicint Age { get; set; }
}
connection.Delete<User>(newid); 或 public static intDelete<T>(this IDbConnection connection, T entityToDelete) public class User{
publicint Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
publicint Age { get; set; }
} connection.Delete(entity);
相当于SQl
DeleteFrom[User]Where ID =@ID
删除多条
1.根据实体删除
public static int DeleteList<T>(this IDbConnection connection, object whereConditions, IDbTransaction transaction=null, int? commandTimeout =null) connection.DeleteList<User>(new { Age =10 }); 2.根据条件删除
public static int RecordCount<T>(this IDbConnection connection, string conditions = "") connection.DeleteList<User>("Where age >20");

  统计

public static int RecordCount<T>(this IDbConnection connection, string conditions = "")

varcount= connection.RecordCount<User>("Where age >20");

  

dapper.simplecurd的更多相关文章

  1. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  2. Dapper扩展之~~~Dapper.Contrib

    平台之大势何人能挡? 带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4822808.html#skill 上一篇文章:Dapper逆天入门~强类型,动态类型 ...

  3. 由Dapper QueryMultiple 返回数据的问题得出==》Dapper QueryMultiple并不会帮我们识别多个返回值的顺序

    异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#dapper 今天帮群友整理Dapper基础教程的时候手脚快了点,然后遇到了一个小问题,Dapp ...

  4. Dapper.Contrib:GetAsync<T> only supports an entity with a [Key] or an [ExplicitKey] property

    异常处理:http://www.cnblogs.com/dunitian/p/4523006.html#dapper 原来Model是这样滴 修改后是这样滴 注意点:Model里面的Table和Key ...

  5. Dapper where Id in的解决方案

    简单记一下,一会出去有点事情~ 我们一般写sql都是==>update NoteInfo set NDataStatus=@NDataStatus where NId in (@NIds) Da ...

  6. ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)

    操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...

  7. Asp.Net Core + Dapper + Repository 模式 + TDD 学习笔记

    0x00 前言 之前一直使用的是 EF ,做了一个简单的小项目后发现 EF 的表现并不是很好,就比如联表查询,因为现在的 EF Core 也没有啥好用的分析工具,所以也不知道该怎么写 Linq 生成出 ...

  8. 搭建一套自己实用的.net架构(3)续 【ORM Dapper+DapperExtensions+Lambda】

    前言 继之前发的帖子[ORM-Dapper+DapperExtensions],对Dapper的扩展代码也进行了改进,同时加入Dapper 对Lambda表达式的支持. 由于之前缺乏对Lambda的知 ...

  9. mono for android中使用dapper或petapoco对sqlite进行数据操作

    在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ...

随机推荐

  1. Unity日常记录 - QualitySettings 性能设置

    unity打包时,可通过QualitySettings优化图像性能,这是最常设置也是最明显的图像性能体现 设置图形质量的水平,一般来说,质量是以牺牲性能为代价的,所以最好不要追求移动设备或旧硬件的最高 ...

  2. mysql 通过测试'for update',深入了解行锁、表锁、索引

    mysql 通过测试'for update',深入了解行锁.表锁.索引 条件 FOR UPDATE 仅适用于InnoDB存储引擎,且必须在事务区块(BEGIN/COMMIT)中才能生效. mysql默 ...

  3. shell 获得后台进程返回值

    获得后台进程返回值我们用“&”把进程放入后台以后,如果需要了解进程的执行情况,可以使用wait函数.默认情况下wait会等待任意子进程结束但是不会返回子进程的返回值.而以子进程的pid作为参数 ...

  4. Git Learning3 Eclipse Tools(未完成)

    1.创建Git 操作:工程 右键 Team Share Project Git 完成创建 2.全局设置:Window->Preference->Git->Configuration- ...

  5. 怎么样启用红米手机5的ROOT权限

    红米手机5能如何拥有了root超级权限?各位清楚,android机器有root超级权限,一旦手机拥有了root相关权限,就能够实现更强的功能,举个栗子各位公司的营销部门的妹纸,使用较多营销工具都需要在 ...

  6. 深入理解Plasma(四)Plasma Cash

    这一系列文章将围绕以太坊的二层扩容框架 Plasma,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等.本篇文章主要介绍在 Plasma 框架下的项目 Plasma Cash. 在上一篇 ...

  7. EF中关于日期字值的处理

    一.SQL语句方式 var datefrom = DateTime.Parse(fromdate);   var dateto = DateTime.Parse(todate); var sql = ...

  8. 【算法】祭奠spfa 最短路算法dijspfa

    题目链接 本题解来源 其他链接 卡spfa的数据组 题解堆优化的dijkstra 题解spfa讲解 来自以上题解的图片来自常暗踏阴 使用前向星链表存图 直接用队列优化spfa struct cmp { ...

  9. STL 小白学习(10) map

    map的构造函数 map<int, string> mapS; 数据的插入:用insert函数插入pair数据,下面举例说明 mapStudent.insert(pair<, &qu ...

  10. 关于Servlet的一些归纳(2)

    1.web项目结构 根路径: 文件夹 文件 WEB-INF: lib(存放一些jar文件) classes(存放class文件) web.xml 2.GenericServlet类 实现了Servle ...