zoukankan      html  css  js  c++  java
  • Dapper入门使用,代替你的DbSQLhelper

    Dapper介绍

    Dapper是.Net下的一个轻量级ORM框架.在小型工具向的项目下,使用Dapper会使数据库操作层代码更加优雅。

    Dapper的使用

    在项目中使用引用Dapper非常简单,你可以选择两种方式:

    1.在NuGet引用

    2.Github下载源代码,添加到项目当中去

    Dapper 项目地址  https://github.com/StackExchange/Dapper

    添加项目 Dapper  到你自己的项目当中去,这样可以直接调试Dapper的源代码

    个人感觉添加源代码到项目当中比较可靠,遇到问题可以直接跟踪

    Dapper项目

    添加Dapper源代码到项目当中

    CURD操作

    表结构

    CREATE TABLE [dbo].[BAS_NAME](
        [ID] [INT] NULL,
        [NAME] [VARCHAR](50) NULL,
        [OTHER] [VARCHAR](50) NULL,
        [DATE] [DATETIME] NULL
    ) ON [PRIMARY]

    1.Insert操作

    代码中看出,直接使用Execute加实体的方式相比传统 SqlParameter的方式更加方便。

    IDbConnection conn = new SqlConnection(connectionString);
    //Insert
    string insetSql = "INSERT dbo.BAS_NAME(ID, NAME, OTHER, DATE)VALUES(@ID, @NAME, @OTHER, @DATE)";
    BAS_NAME nameInfo = new BAS_NAME();
    nameInfo.ID = 0;
    nameInfo.NAME = "小王";
    nameInfo.OTHER = string.Empty;
    nameInfo.DATE = DateTime.Now;
    var result = conn.Execute(insetSql, nameInfo);
    
    Console.Write(result);
    Console.ReadKey();

    当然了你也可以使用这种方式新增行

    var result = conn.Execute(insetSql, new {ID = 1,NAME = "小李",OTHER="233",DATE = DateTime.Now });

    2.Update操作

    和Insert类似

    BAS_NAME nameInfo = new BAS_NAME();
    nameInfo.ID = 0;
    nameInfo.NAME = "小王233";
    nameInfo.OTHER = "233";
    nameInfo.DATE = DateTime.Now;
    
    string upDateSql = " UPDATE dbo.BAS_NAME SET NAME = @NAME,OTHER= @OTHER,[DATE] = @DATE WHERE ID = @ID";
    
    var result = conn.Execute(upDateSql, nameInfo);

    3.Select操作

    string selectSql = "SELECT * FROM BAS_NAME";
    List<BAS_NAME> basNameList = conn.Query<BAS_NAME>(selectSql).ToList();
    
    selectSql = "SELECT * FROM BAS_NAME WHERE ID = @ID";
    basNameList = conn.Query<BAS_NAME>(selectSql,new { ID = 1 }).ToList();

    4.Delete操作

    var result = conn.Execute("DELETE FROM dbo.BAS_NAME WHERE ID = @ID", new { ID = 0 });
  • 相关阅读:
    sparql学习sparql示例、dbpedia在线验证
    中国绿卡
    逾期率的水有多深,你知道吗?
    ICO和区块链区别
    What are the benefits to using anonymous functions instead of named functions for callbacks and parameters in JavaScript event code?
    Link static data in sql source control
    sql data compare
    viewbag
    多态的实际使用
    win10 sedlauncher.exe占用cpu处理
  • 原文地址:https://www.cnblogs.com/Jeely/p/11357631.html
Copyright © 2011-2022 走看看