今天了解并学习了下Dapper的用法,这里简单介绍下

1.安装Nuget Dapper Package包

2.代码

using (IDbConnection connection = new SqlConnection("server=.;database=Test;uid=sa;pwd=123456"))
{           
         //通过connection.Execute(sql,object)方法执行增删改
//UserInfo userInfo = new UserInfo();
//userInfo.Id = Guid.NewGuid();
//userInfo.UserName = "aa";
//userInfo.Name = "张三";
//string sql = "insert into UserInfo values(@id,@userName,@name)";
//connection.Execute(sql, userInfo); //connection.Execute(sql, new
//{
// Id = Guid.NewGuid(),
// UserName = "bb",
// Name = "张三1"
//}); //UserInfo userInfo = new UserInfo();
//userInfo.Id = Guid.NewGuid();
//userInfo.UserName = "aa";
//userInfo.Name = "张三"; //Comment comment = new Comment();
//comment.Id = Guid.NewGuid();
//comment.Content = "东西挺好的";
//comment.UserInfoId = userInfo.Id;
// string sql = "insert into UserInfo values(@id,@userName,@name)";
//connection.Execute(sql, userInfo);
//string sql1 = "insert into Comment values(@id,@Content,@UserInfoId)";
//connection.Execute(sql1, comment); //userInfo.Name = "李四";
//string sqlupdate = "update UserInfo set name = @name where username=@username";
//connection.Execute(sqlupdate, userInfo); //string sqldelete = "delete from userinfo where username = @username";
//connection.Execute(sqldelete, userInfo);          //通过connection.Query(sql)执行查询
// string query = "select * from userinfo";
// var list = connection.Query(query).ToList();
// foreach (dynamic d in list)
// {
// Console.WriteLine(d.UserName);
// } // string query1 = "select * from userinfo where username = @username";
//List<UserInfo> userInfos = connection.Query<UserInfo>(query1, new {username = "bb"}).ToList();
// foreach (UserInfo d in userInfos)
// {
// Console.WriteLine(d.UserName);
// } string query = "select * from userinfo u left join comment c on u.id=c.userInfoId";
////Query<TFirst, TSecond, TReturn>
//List<UserInfo> userInfos = connection.Query<UserInfo, Comment, UserInfo>(query,
// (userInfo, comment) =>
// {
// if (userInfo.Comments == null)
// {
// userInfo.Comments = new List<Comment>();
// }
// userInfo.Comments.Add(comment);
// return userInfo;
// }
//).ToList();           //通过connection.QueryMultiple(sql)一次查询多个实体
//using (var multi = connection.QueryMultiple(query))
//{
// var userInfoss = multi.Read<UserInfo>().ToList(); // foreach (var userInfo in userInfoss)
// {
// Console.WriteLine(userInfo.UserName);
// }
//} //var user = connection.Query<UserInfo>("uspGetUser", new {id = "1A61D9E8-A295-4844-8EB1-3F390657CFBB"},
// commandType: CommandType.StoredProcedure).SingleOrDefault();
//Console.WriteLine(user.Name); Console.ReadKey();
}

Dapper入门学习的更多相关文章

  1. AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享

    原文:AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享 ====================www.ayjs.net       杨洋    wpfui.com      ...

  2. Dapper快速学习

    Dapper快速学习 我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dap ...

  3. vue入门学习(基础篇)

    vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...

  4. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  5. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  6. PyQt4入门学习笔记(三)

    # PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...

  7. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  8. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  9. Retrofit 入门学习

    Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos&qu ...

随机推荐

  1. selenium 等待页面加载完成

    一.隐形加载等待: file:///C:/Users/leixiaoj/Desktop/test.html 该页面负责创建一个div <html> <head> <tit ...

  2. gedit 乱码问题

    因为不同文本的编码方式不同,比如windows下编码方式为GB18030编码 (中文简体环境中的ANSI为GB18030编码,用2个或4个字节表示中文.) 但gedit初始设置并没有自动识别文本的编码 ...

  3. 101 LINQ Samples

    https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

  4. iOS 判断网络连接状态的几种方法

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #801b80 } p.p2 ...

  5. linux下的ssh工具之,本地上传到linux服务器and Linux服务器文件另存为本地。非sftp工具。

    首先,当你只有一个ssh工具可以连接linux,但你有想把文件在 linux 和windows(本地)直接的切换.其实可以的: 本文参考 1.将本地的文件,放到ssh远程的linux服务器上: 首先要 ...

  6. Genymotion安装及遇到的问题

    https://www.genymotion.com/ 首先注册,不注册看不到下载按钮. 注册登陆后下载安装包(一定要记住用户名和密码,因为安装后登陆要用) 一路下一步. 选择虚拟设备 genymot ...

  7. acm小知识

    __builtin_popcount(i); __builtin_popcountll(i) ;//计算i的二进制表示中1的个数 int a[M] , b[M] ; memcpy(a+i , b+j ...

  8. 用遗传算法GA改进CloudSim自带的资源调度策略(2)

    遗传算法GA的核心代码实现: 最核心: private static ArrayList<int[]> GA(ArrayList<int[]> pop,int gmax,dou ...

  9. Angular2 组件生命周期

    1. 说明 Angular每个组件都存在一个生命周期,从创建,变更到销毁.Angular提供组件生命周期钩子,把这些关键时刻暴露出来,赋予在这些关键结点和组件进行交互的能力. 2. 接口 按照生命周期 ...

  10. php二进制安全的含义

    PHP里,有string的概念.string里,每个字符的大小为byte(与PHP相比,Java的每个字符为Character,是UTF8字符,C语言的每个字符可以在编译时选择). byte里,有AS ...