.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 [email protected],[email protected] where [email protected]";
            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 [email protected]";
            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 [email protected]";
            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 [email protected]";
        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 = 1;//获取需要编辑书籍的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 = 1;//获取需要删除书籍的ID
            DBHelper.Delete(id.ToString());
        }
    }
}

5.效果图

上传不了附件,需要源码的可以留言。

时间: 2024-10-16 07:00:15

.net ORM框架(Dapper简单应用)的相关文章

.NET轻量级ORM框架Dapper入门精通

一.课程介绍 本次分享课程包含两个部分<.NET轻量级ORM框架Dapper修炼手册>和<.NET轻量级ORM框架Dapper葵花宝典>,阿笨将带领大家一起领略轻量级ORM框架Dapper的魅力. 本次分享课程适合人群范围: 一.<.NET轻量级ORM框架Dapper修炼手册>适合人群如下: 1.我是一个新手,主要工作面向的是MS SQL Server数据库,那么选择修炼手册一定没错. 2.对Dapper从没有过了解或者了解不全面的同学,想通过学习进一步提升对Dappe

Net系列框架-Dapper+简单三层架构

Net系列框架-Dapper+简单三层架构 工作将近6年多了,工作中也陆陆续续学习和搭建了不少的框架,后续将按由浅入深的方式,整理出一些框架源码,所有框架源码本人都亲自调试通过,如果有问题,欢迎联系我,供大家一起互相学习和探讨,如果你有什么好的意见或建议,欢迎下面留言. 本套框架主要采用asp.net mvc+dapper+简单三层搭建的后端框架 主要技术点: 1.asp.net webapi 基于net技术的webapi 2.dapper 轻量高性能orm框架 3.三层架构,简单实用的DAL,

轻量型ORM框架Dapper的使用

在真实的项目开发中,可能有些人比较喜欢写SQL语句,但是对于EF这种ORM框架比较排斥,那么轻量型的Dapper就是一个不错的选择,即让你写sql语句了,有进行了关系对象映射.其实对于EF吧,我说下我个人的见解,EF是相对来说比较重的ORM框架,它是讲究通用性的框架,而非单纯的实现某种需求的框架,不得不否认的说,EF的开发效率要比用单纯的ADO.NET写sql语句的效率高的不是一点半点,可能很多人会说EF的性能低等等,针对这种问题有时候是需要折中的来讲,从另一个方面来讲,你用了ADO.NET写s

.NET轻量级ORM框架Dapper修炼手册

一.摘要 1.1.为什么叫本次的分享课叫<修炼手册>? 阿笨希望本次的分享课中涉及覆盖的一些小技巧.小技能给您带来一些帮助.希望您在日后工作中把它作为一本实际技能手册进行储备,以备不时之需,一旦当手头遇到与Dapper修炼手册中相似用法的地方和场景,可以直接拿来进行翻阅并灵活的运用到项目中.最后阿笨建议您可以根据自己在工作中碰到的不同的使用场景,不断的完善此本修炼手册. 废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工. 四.涉及覆盖的知识点 1.C# Linq To Xml技术.

微型orm框架--dapper的简单使用

1.安装 首先使用nuget安装dapper,因为这里的示例是使用mysql,所以还要安装mysql的驱动.如下图: 2 数据库表 脚本 SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for class -- ---------------------------- DROP TABLE IF EXISTS `class`; CREATE TABLE `class` ( `id` int(

基于轻量级ORM框架Dapper的扩展说明

这里简单的介绍一下本人基于Dapper作的一些简单的扩展,供大家参考. 为何要使用这款框架,相信大家看到下面排名就清楚了 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco serialization的过程中所表现的性能,我们发现dapper是第二名, 当然第一名谁也无法超越,越底层的当然久越快,同时也就越麻烦. 至于如何使用进行基本的数据操作,我这里就不再阐述,http://www.cnblogs.com/Sinte-Beuve/p/4231053.html这里介绍

轻量级ORM框架 Dapper快速学习

好在有师兄师姐一起带着做,所以开始没那么困难,但是由于大学涉猎范围有限,往往有很尴尬的时候,不懂构造方法重载,去“请教”,本来以为师兄会帮忙写好,结果“我念,你来写”,被深深的激励了一把,后来就早出晚归补习练习,java有所成长.实验室的项目是以Elipse插件形式给某研究所做一个工具,所以当时对Eclipse的了解很是深入,用到GEF图形编辑框架,SWT来做界面.自己用XML做存储来实现复制粘贴,还第一次用到了设计模式,visitor.实验室的节奏一直是“时间紧,任务重,成败在此一举”的节奏,

python orm框架SQLAlchemy简单应用(数据库操作)

#_*_coding:utf-8_*_ ''' 创建SQLAlchemy应用基本过程 1.创建连接(和关系数据库创建连接) 2.声明映射文件(python中到类和数据库中的表做一对一的映射,这样就可以通过python中的类对数据库中到表进行操作) 3.创建模式(可以创建表) 4.初始化映射实例 5.创建会话 6.持久化实例对象 ''' from sqlalchemy import create_engine #创建连接 engine = create_engine('mysql://root:1

.NET轻量级ORM组件Dapper葵花宝典

一.摘要 为什么取名叫<葵花宝典>? 从行走江湖的世界角度来讲您可以理解为一本"武功秘籍",站在我们IT编程的世界角度应该叫"开发宝典". 如果您在工作中主要接触的是操作MySQL数据库,但您又想学习和了解.NET轻量级ORM框架Dapper,那么就请跟着阿笨一起学习本次的分享课<.NET轻量级ORM框架Dapper葵花宝典>.Let's Go,Do It ,Dapper For MySQL! 废话不多说,直接上干货,我们不生产干货,我们只是