.net ORM框架(Dapper简单应用)
1.引入 Dapper.dll类库
2.创建书籍模型book
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; public class Book
{
public int ID { get; set; } public string Name { get; set; } public string Txt { get; set; }
}
3.创建数据库帮助类(需要引用using Dapper;)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dapper;
using System.Data;
using System.Data.SqlClient; public static class DBHelper
{
private static readonly string connString = "Data Source=.;Initial Catalog=qrab;Integrated Security=False;User ID=sa;Password=111111;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False;";
//ConfigurationManager.ConnectionStrings["PharmacySystem"].ConnectionString;
private static IDbConnection _conn;
public static IDbConnection Conn
{
get
{
_conn = new SqlConnection(connString);
_conn.Open();
return _conn;
}
}
/// <summary>
/// 插入书籍
/// </summary>
/// <param name="book"></param>
/// <returns></returns>
public static int Insert(Book book)
{
using (Conn)
{
string query = "insert into Book(name,txt)values(@name,@txt)";
return Conn.Execute(query, book);
}
}
/// <summary>
/// 更新书籍
/// </summary>
/// <param name="book"></param>
/// <returns></returns>
public static int Update(Book book)
{
using (Conn)
{
string query = "update Book set name=@name,txt=@txt where id=@id";
return Conn.Execute(query, book);
}
}
/// <summary>
/// 删除书籍
/// </summary>
/// <param name="book"></param>
/// <returns></returns>
public static int Delete(Book book)
{
using (Conn)
{
string query = "delete from Book where id=@id";
return Conn.Execute(query, book);
}
}
/// <summary>
/// 删除书籍
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static int Delete(string id)
{
using (Conn)
{
string query = "delete from Book where id=@id";
return Conn.Execute(query, new { id = id });
}
}
/// <summary>
/// 读取书籍列表
/// </summary>
/// <returns></returns>
public static IList<Book> GetList()
{
using (Conn)
{
string query = "select * from Book";
return Conn.Query<Book>(query).ToList();
}
}
/// <summary>
/// 根据ID取一本书籍
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static Book GetEntity(string id)
{
Book book;
string query = "select * from Book where id=@id";
using (Conn)
{
book = Conn.Query<Book>(query, new { id = id }).SingleOrDefault();
return book;
}
} }
4.简单人增加删除修改操作
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 显示所有书籍
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAll_Click(object sender, EventArgs e)
{
IList<Book> listBook = DBHelper.GetList();
gvBookList.AutoGenerateColumns = false;
gvBookList.DataSource = listBook;
}
/// <summary>
/// 添加书籍
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAdd_Click(object sender, EventArgs e)
{
Book book1 = new Book
{
Name = @"1金2瓶3梅",
Txt = @"文学著作"
};
DBHelper.Insert(book1);
}
/// <summary>
/// 编辑书籍
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnEdit_Click(object sender, EventArgs e)
{
int id = ;//获取需要编辑书籍的ID
Book book1 = new Book
{
ID=id,
Name = @"修改Name",
Txt = @"修改txt"
};
DBHelper.Update(book1);
}
/// <summary>
/// 删除指定的书籍
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDel_Click(object sender, EventArgs e)
{
int id = ;//获取需要删除书籍的ID
DBHelper.Delete(id.ToString());
}
}
}
5.效果图

上传不了附件,需要源码的可以留言。
.net ORM框架(Dapper简单应用)的更多相关文章
- .NET轻量级ORM框架Dapper入门精通
一.课程介绍 本次分享课程包含两个部分<.NET轻量级ORM框架Dapper修炼手册>和<.NET轻量级ORM框架Dapper葵花宝典>,阿笨将带领大家一起领略轻量级ORM框架 ...
- Net系列框架-Dapper+简单三层架构
Net系列框架-Dapper+简单三层架构 工作将近6年多了,工作中也陆陆续续学习和搭建了不少的框架,后续将按由浅入深的方式,整理出一些框架源码,所有框架源码本人都亲自调试通过,如果有问题,欢迎联系我 ...
- PHP ORM框架与简单代码实现(转)
对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据 ...
- c# 国内外ORM 框架 dapper efcore sqlsugar freesql hisql sqlserver数据常规插入测试性能对比
c# 国内外ORM 框架 dapper efcore sqlsugar freesql hisql sqlserver数据常规插入测试性能对比对比 在6.22 号发布了 c# sqlsugar,his ...
- 轻量型ORM框架Dapper的使用
在真实的项目开发中,可能有些人比较喜欢写SQL语句,但是对于EF这种ORM框架比较排斥,那么轻量型的Dapper就是一个不错的选择,即让你写sql语句了,有进行了关系对象映射.其实对于EF吧,我说下我 ...
- .NET 轻量级 ORM 框架 - Dapper 介绍
Dapper简单介绍: Dapper is a single file you can drop in to your project that will extend your IDbConnect ...
- 轻量级ORM框架Dapper应用一:Dapper安装
一.Dapper简介 Dapper是一款轻量级ORM框架,为解决网站访问流量极高而产生的性能问题而构造,主要通过执行TSQL表达式而实现数据库的CQRS. 如果你在项目中遇到性能访问问题,选择Dapp ...
- ORM框架——Dapper的应用
常见的ORM框架有EF,Dapper,NHibernate 参考:http://shuai7boy.iteye.com/blog/2357339 http://www.cnblogs.com/Sint ...
- 微型orm框架--dapper的简单使用
1.安装 首先使用nuget安装dapper,因为这里的示例是使用mysql,所以还要安装mysql的驱动.如下图: 2 数据库表 脚本 ; -- -------------------------- ...
随机推荐
- vue全局使用axios插件请求ajax
vue全局使用axios插件请求ajax Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方宣布停止更新vue-resource,并推 ...
- 正则表达式 re.findall 用法
正则 re.findall 的简单用法(返回string中所有与pattern相匹配的全部字串,返回形式为数组)语法: findall(pattern, string, flags=0) import ...
- js 清空html input file的值
在做上传图片预览时,利用input onchange事件触发函数,但是type=file时,一定记得新建要清空原来的图片,因为原来的图片还存在在input里面,再选重复的图片没有change,故不会触 ...
- Python Redis string
String操作,redis中的String在在内存中按照一个name对应一个value来存储.如图: set(name, value, ex=None, px=None, nx=False, xx= ...
- 剑指offer(30)连续子数组和的最大值
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...
- Java正则中为什么反斜线"\"需要用“\\\\”表示,原因详解。
首先,我们需要知道在java字符串和正则表达式中,“\”都具有特殊的含义. 一.在Java的字符串中"\"有两个功能 (一)代表特殊字符:\t代表制表符,\n代表换行....等. ...
- jenkins安装部署全过程
基本配置: 1.Linux安装配置jdk环境 1.1.上传到 Linux 服务器:例如: 上传至: cd /usr/local 1.2.解压: rpm -ivh jdk-8u111-linux-x64 ...
- centos6.5换yum源
centos换yum源要借助wget,要先安装wget 输入yum -y install wget命令以安装wget 若安装wget失败或卡死, ctrl+z,ps -ef | grep yum,之后 ...
- android to hide the keybord
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hi ...
- 微信小程序之 真机键盘弹窗遮盖input框
正常效果: 问题效果: 发现这个问题后呢,我先去看了api,api上是这么说的 哦吼~ 然后我也不知道是不是我的打开方式不对还是什么~~ 没有效果~~ 那怎么办呢~~ 换方法呗~~ 我只好用这个方 ...