Dapper入门学习
今天了解并学习了下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入门学习的更多相关文章
- AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享
原文:AY的Dapper研究学习-基本入门-C#开发-aaronyang技术分享 ====================www.ayjs.net 杨洋 wpfui.com ...
- Dapper快速学习
Dapper快速学习 我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dap ...
- vue入门学习(基础篇)
vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...
- Hadoop入门学习笔记---part4
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
- Hadoop入门学习笔记---part3
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
- PyQt4入门学习笔记(三)
# PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...
- PyQt4入门学习笔记(一)
PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...
- Hadoop入门学习笔记---part2
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
- Retrofit 入门学习
Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos&qu ...
随机推荐
- window 使用vagrant搭建开发开发环境
# -*- mode: ruby -*-# vi: set ft=ruby : # All Vagrant configuration is done below. The "2" ...
- spring统一日志管理,切面(@Aspect),注解式日志管理
step1 开启切面编程 <!-- 开启切面编程(通过配置织入@Aspectj切面 ) --> <aop:aspectj-autoproxy/> <aop:aspectj ...
- KALI Linux problems & Study Red Hat | Ubuntu
Problem When you ask some website with https head.you may met the problem secure connection failed ...
- Myeclipse不显示js文件错误的方法
最近在学后台,用Myeclipse ,那么问题来了,Myeclipse 总是喜欢报 js 文件的错误,这就很烦了,看着也不舒服. 查看资料后,解决方法如下: 项目[鼠标右键] -> MyEcli ...
- [IOS]JSPatch
用途 修复线上出现的紧急crash,热更新 例子 demo 原理解读 在程序didFinishLaunch时候执行,[JPEngine startEngine], startEngine做了对解析js ...
- UESTC 1546 Bracket Sequence
Bracket Sequence Time Limit: 3000MS Memory Limit: 65536KB 64 ...
- C++ 之namespace常见用法
一.背景 需要使用Visual studio的C++,此篇对namespace的常用用法做个记录. 二.正文 namespace通常用来给类或者函数做个区间定义,以使编译器能准确定位到适合的类或者函数 ...
- Struts开发包结构
- MySQL · 答疑解惑 · MySQL 锁问题最佳实践
http://mysql.taobao.org/monthly/2016/03/10/ 前言 最近一段时间处理了较多锁的问题,包括锁等待导致业务连接堆积或超时,死锁导致业务失败等,这类问题对业务可能会 ...
- Authorization in Cloud Applications using AD Groups
If you're a developer of a SaaS application that allows business users to create and share content – ...