dapper.simplecurd
[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的更多相关文章
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
- Dapper扩展之~~~Dapper.Contrib
平台之大势何人能挡? 带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4822808.html#skill 上一篇文章:Dapper逆天入门~强类型,动态类型 ...
- 由Dapper QueryMultiple 返回数据的问题得出==》Dapper QueryMultiple并不会帮我们识别多个返回值的顺序
异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#dapper 今天帮群友整理Dapper基础教程的时候手脚快了点,然后遇到了一个小问题,Dapp ...
- 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 ...
- Dapper where Id in的解决方案
简单记一下,一会出去有点事情~ 我们一般写sql都是==>update NoteInfo set NDataStatus=@NDataStatus where NId in (@NIds) Da ...
- ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)
操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...
- Asp.Net Core + Dapper + Repository 模式 + TDD 学习笔记
0x00 前言 之前一直使用的是 EF ,做了一个简单的小项目后发现 EF 的表现并不是很好,就比如联表查询,因为现在的 EF Core 也没有啥好用的分析工具,所以也不知道该怎么写 Linq 生成出 ...
- 搭建一套自己实用的.net架构(3)续 【ORM Dapper+DapperExtensions+Lambda】
前言 继之前发的帖子[ORM-Dapper+DapperExtensions],对Dapper的扩展代码也进行了改进,同时加入Dapper 对Lambda表达式的支持. 由于之前缺乏对Lambda的知 ...
- mono for android中使用dapper或petapoco对sqlite进行数据操作
在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ...
随机推荐
- C#操作Control异步工具类
/// <summary> /// 异步工具类 /// </summary> public class TaskTools { /// <summary> /// ...
- vue history模式
注意: 1.前端:config.js路径问题 2.后台:配置nginx
- 音频转化mp3 ,到底选vbr还是cbr
毫无疑问,aac格式是最好的. 其次,应该是 vbr. 参考下面文章 http://tieba.baidu.com/p/1966991568 总结: 1.正版iTunes Plus 256K AAC格 ...
- 解密:Amazon亚马逊产品Listing关键词刷单排名原理
第一:基本概念 在阅读正文之前,请先理解下面的几个基本概念. 核心词[高频词.热词.大词.主词]:长度大约1~2个单词构成,指每天搜索量比较多的词,每个行业对高频词的划分不一样,这个主要看自己 ...
- js的原型/原型链/构造函数
js里一切皆对象.有js自己内部的对象,还有用户自定义的对象.所有的对象都是从原型上衍生出来的. 原型本身也是对象,原型链的最高层就是Object. 两个重要的属性:prototype, __prot ...
- docker 中安装 redis
使用以下命令在Docker Hub搜索Redis镜像docker search redis 使用以下命令拉取镜像,Redis的镜像docker pull redis:latest 使用以下命令查看,本 ...
- Mac OS X 操作系统下IntelliJ IDEA激活码(Activation code)破解
Mac OS X 操作系统(版本:10.13.6)下载并安装IntelliJ IDEA: Version: 2018.2.4 Download IntelliJ IDEA 下一步对IntelliJ I ...
- 调用 CURL 使用正则抓取信息
Class MyCurl{ protected $_pdo; //构造方法 链接数据库 public function __construct(){ $this->_pdo ...
- OO的奇妙冒险1
OO的奇妙冒险 ~OOP入门与字符串处理~ 目录 总体分析 作业内容分析 作业内容总结 互测的收获 公测互测bug分析与总结 不太正经的个人自嗨 总体分析 公测 中测(基础与进阶): 其实在我看来,从 ...
- keras神经网络做简单的回归问题
咸鱼了半个多月了,要干点正经事了. 最近在帮老师用神经网络做多变量非线性的回归问题,没有什么心得,但是也要写个博文当个日记. 该回归问题是四个输入,一个输出.自己并不清楚这几个变量有什么关系,因为是跟 ...