.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 数据库表 脚本 ; -- -------------------------- ...
随机推荐
- docker overlay
http://blog.csdn.net/jiangshouzhuang/article/details/52822125
- 记录:工作中用到的Js日期时间方法
/** * 获取当前时间 */ function getDate() { return new Date(); } /** * 格式化当前时间 * @param {*} value */ functi ...
- Maven Web Projest经Update Projest报错:Cannot nest 'myApp/src/main/resource' inside 'myApp/src'. To enable the nesting exclude 'main/' from 'myApp/src'
1,报错场景 2,解决方法 修改pom.xml,去掉该行:<sourceDirectory>src/</sourceDirectory>
- Linux mail 邮件发送
Linux mail 邮件介绍 在Linux系统下我们可以通过”mail“命令,发送邮件,在运维中通常我们它来实现邮件告警. 安装 (方案1) 一.安装邮件服务 yum install -y send ...
- git 分支命名规范
为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 主要规范两点: git 分支命名规范 git 提交记录规范 1. git 分支命名规范 git 分支 ...
- MySql 三大知识点,索引、锁、事务,原理分析
1.索引 索引,类似书籍的目录,可以根据目录的某个页码立即找到对应的内容. 索引的优点:1. 天生排序,2. 快速查找. 索引的缺点:1. 占用空间,2. 降低更新表的速度. 注意点:小表使用全表扫描 ...
- Virtual DOM 和 diff 算法
virtual DOM : virtual DOM 用 js 模拟 DOM 结构,用 js 来对比前后变化,提高重绘性能. diff: 比如在 git 中,如果用命令 git diff xxx文件 ...
- 【常见错误】Quartz常见错误
1.集群之后把其中一个Quartz服务停了,其他的也不接手工作 问题描述 集群之后,A节点执行了大多数任务,B节点大部分时间处于空闲,停掉A节点,B节点也不会接手工作. 解决方式 修改Quartz的配 ...
- [js] - 前端FileReader使用,适用于文件上传预览.(并未传入后端)
<body> <div class="box"> <div class="container"> <ul> &l ...
- TypeError: Cannot read property 'length' of null
本文为博主原创,未经允许不得转载: 异常展示: [Vue warn]: Error in getter for watcher "filterAndSortData": " ...