C#使用Dapper存取數(shù)據(jù)庫(kù)詳解
Dapper介紹
Dapper是的一個(gè)開源對(duì)象關(guān)系映射(ORM)庫(kù).NET和.NET核心應(yīng)用程序。該庫(kù)允許開發(fā)人員快速輕松地訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),而無(wú)需編寫乏味的代碼。Dapper允許您執(zhí)行原始SQL查詢、將結(jié)果映射到對(duì)象以及執(zhí)行存儲(chǔ)過(guò)程等。它以NuGet包的形式提供。
Dapper重量輕、速度快,是需要低延遲和高性能的應(yīng)用程序的理想選擇。它是一個(gè)簡(jiǎn)單而強(qiáng)大的對(duì)象映射工具,使開發(fā)人員能夠快速輕松地從ADO映射查詢結(jié)果,NET數(shù)據(jù)讀取器到業(yè)務(wù)對(duì)象實(shí)例。它支持異步和同步數(shù)據(jù)庫(kù)查詢,并將多個(gè)查詢批處理到一個(gè)調(diào)用中,此外,dapper支持參數(shù)化查詢,以幫助抵御SQL注入攻擊。
簡(jiǎn)單的說(shuō),就是在C#編程中,使用Dapper操作數(shù)據(jù)庫(kù)能夠更簡(jiǎn)單,更方便,更容易.
第一步:?jiǎn)?dòng)vs2022并新建一個(gè)WinForm程序


第二步:添加Dapper引用

第三步:在winform界面中添加兩個(gè)控件
如下圖所示:

第四步:新建一個(gè)Model文件夾,并新建一個(gè)Movie類文件
using System.ComponentModel;
namespace DapperForm
{
public class movie
{
[DisplayName("電影序號(hào)")]
public int MovieId { get; set; }
[DisplayName("電影名稱")]
public string Name { get; set; }
[DisplayName("發(fā)行年份")]
public string Year { get; set; }
[DisplayName("電影評(píng)級(jí)")]
public int Rating { get; set; }
}
}
第五步:在 載入數(shù)據(jù) 按鈕中添加代碼
private void simpleButton1_Click(object sender, EventArgs e)
{
using (var conn = new SqlConnection(connStr))
{
conn.Open(); // 打開數(shù)據(jù)庫(kù)連接
var query = @"SELECT * FROM Movies"; // SQL查詢語(yǔ)句
var result = conn.Query<movie>(query); // 執(zhí)行查詢操作并將結(jié)果存儲(chǔ)在result變量中
gridControl1.DataSource = result;
}
}其中Form1中所有的代碼如下:
using System;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Data.SqlClient;
using Dapper;
namespace DapperForm
{
public partial class Form1 : XtraForm
{
public string connStr = "Server=.;Database=Movies;User Id=sa;Password=caifox"; // 設(shè)置數(shù)據(jù)庫(kù)連接字符串
public Form1()
{
InitializeComponent();
}
private void simpleButton1_Click(object sender, EventArgs e)
{
using (var conn = new SqlConnection(connStr))
{
conn.Open(); // 打開數(shù)據(jù)庫(kù)連接
var query = @"SELECT * FROM Movies"; // SQL查詢語(yǔ)句
var result = conn.Query<movie>(query); // 執(zhí)行查詢操作并將結(jié)果存儲(chǔ)在result變量中
gridControl1.DataSource = result;
}
}
}
}首先定義了一個(gè)鏈接字符串,單連載入數(shù)據(jù)按鈕后,使用Dapper的接口連到數(shù)據(jù)庫(kù)并打開數(shù)據(jù)庫(kù),然后使用查詢語(yǔ)句查詢出數(shù)據(jù),并將查詢結(jié)果保存到result變量中,這個(gè)變量其實(shí)是一個(gè)movieList,最后將這個(gè)變量放入到控件gridControl中。
最后,運(yùn)行程序后,顯示界面如下:

好了,是不是超級(jí)簡(jiǎn)單,你也來(lái)試試吧!
到此這篇關(guān)于C#使用Dapper存取數(shù)據(jù)庫(kù)詳解的文章就介紹到這了,更多相關(guān)C# Dapper存取數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#使用GZipStream解壓縮數(shù)據(jù)文件的方法
這篇文章主要介紹了C#使用GZipStream解壓縮數(shù)據(jù)文件的方法,實(shí)例分析了C#中GZipStream方法的原理與使用技巧,需要的朋友可以參考下2015-04-04
Unity UI或3D場(chǎng)景實(shí)現(xiàn)跟隨手機(jī)陀螺儀的晃動(dòng)效果
這篇文章主要介紹了Unity UI或3D場(chǎng)景實(shí)現(xiàn)跟隨手機(jī)陀螺儀的晃動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
詳解C# WinForm如何實(shí)現(xiàn)自動(dòng)更新程序
在C/S這種模式中,自動(dòng)更新程序就顯得尤為重要,它不像B/S模式,直接發(fā)布到服務(wù)器上,瀏覽器點(diǎn)個(gè)刷新就可以了。本文就為大家準(zhǔn)備了WinForm實(shí)現(xiàn)自動(dòng)更新程序的示例代碼,需要的可以參考一下2022-10-10
c# socket網(wǎng)絡(luò)編程接收發(fā)送數(shù)據(jù)示例代碼
這篇文章主要介紹了c# socket網(wǎng)絡(luò)編程,server端接收,client端發(fā)送數(shù)據(jù),大家參考使用吧2013-12-12
c# 免費(fèi)組件html轉(zhuǎn)pdf的實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了c# 免費(fèi)組件html轉(zhuǎn)pdf的實(shí)現(xiàn)過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
selenium.chrome寫擴(kuò)展攔截或轉(zhuǎn)發(fā)請(qǐng)求功能
Selenium?WebDriver?是一組開源?API,用于自動(dòng)測(cè)試?Web?應(yīng)用程序,利用它可以通過(guò)代碼來(lái)控制chrome瀏覽器,今天通過(guò)本文給大家介紹selenium?chrome寫擴(kuò)展攔截或轉(zhuǎn)發(fā)請(qǐng)求功能,感興趣的朋友一起看看吧2022-07-07

