溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在C#中怎么使用Dapper ORM

發布時間:2021-03-23 13:44:21 來源:億速云 閱讀:153 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關在C#中怎么使用Dapper ORM,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

使用 Visual Studio 安裝 Dapper ORM

要想了解 Dapper,從下面的步驟開始吧:

  • 打開 Visual Studio

  • 點擊 文件 -> 新建 -> 項目

  • 選擇 網站 -> ASP.Net Web Application

  • 給 web 項目指定一個名字

  • 然后選擇一個 空模板

  • 點擊 確定 生成 project

這樣我們就創建好了一個 ASP.Net web application 項目

如果你已經安裝了 NuGet,你可以通過 NuGet 去安裝 Dapper,做法就是在 解決方案窗口 下的 Project 上右鍵選擇 Manage NuGet Package ... 并且找到 Dapper,然后點擊安裝開啟這個安裝過程,一旦 Dapper 被成功安裝,你就可以愉快的玩起來了哈。

使用 Dapper ORM 進行增刪查改

接下來我用 Dapper 寫一些簡單的 CURD 語句來操作數據庫,考慮如下的 IDG 數據庫,包含了一個 Author 表,表的字段如下:

  • ID

  • FirstName

  • LastName

在使用Dapper時,你需要針對 數據庫表 創建一個簡單的實體類(POCO class),下面定義了 Author 實體對應 IDB 數據庫的 Author 表。

 public class Author
 {
  public int Id { get; set; }
  public string FirstName { get; set; }
  public string LastName { get; set; }
 }

使用 Dapper 的 Query() 擴展方法,可以實現對數據庫的查詢然后將數據填充到你的 object model 中,下面方法的作用就是從 Author 表中查詢所有的數據,然后存儲到內存中,最后返回一個集合給調用方。

 public List<Author> ReadAll()
 {
   using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings[“AdventureWorks”].ConnectionString))
   {
    return db.Query<Author>
    (“Select * From Author”).ToList();
   }
 }

對了,為了能夠使用上 Dapper 的擴展方法,你需要在代碼文件的頂部引入 Dapper 命名空間,如下圖:

在C#中怎么使用Dapper ORM

下面的方法展示了如何從 Author table 表中查詢指定的記錄。

 public Author Find(int id) 
 {
  using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings [“AdventureWorks”].ConnectionString))
  {
   return db.Query<Author>(“Select * From Author “ + 
   WHERE Id = @Id”, new { id }).SingleOrDefault();
  }
 }

Dapper 的 Execute() 方法可以實現對數據的新增,修改,刪除,此方法返回一個整數值,該值表示在執行查詢時受到的影響行數。

下面的方法展示了如何使用 Dapper 更新一條記錄。

 public int Update(Author author)
 {
  using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings [“AdventureWorks”].ConnectionString))
  {
   string sqlQuery ="UPDATE Author SET FirstName = @FirstName, " +
   “ LastName = @LastName “ + “WHERE Id = @Id”;
   int rowsAffected = db.Execute(sqlQuery, author);
   return rowsAffected;
  }
 }

正如上面代碼所述,Update 方法返回了一個受影響的行數,意味著這么多的記錄被修改,上面這段代碼只會有一條記錄被更新,所以說如果更新成功返回的就是 1。

在 Dapper ORM 中使用 存儲過程

為了能夠使用 Dapper 執行存儲過程,在調用 Query 或者 Execute 方法時需要手工指定一下 CommandType 類型,下面的例子展示了如何使用 Dapper 執行 存儲過程。

 public List<Author> Read()
 {
  using (IDbConnection db = new SqlConnection (ConfigurationManager.ConnectionStrings [“AdventureWorks”].ConnectionString))
  {
   string readSp ="GetAllAuthors";
   return db.Query<Author>(readSp, commandType: CommandType.StoredProcedure).ToList();
  }
 }

Dapper 框架也是支持事務操作的,如果有必要的話可以使用事務,使用方式很簡單,你可以利用 BeginTransaction() 和 EndTransaction() 方法,其實和你使用 ADO.NET 的事務方式是一摸一樣的,將需要事務的語句代碼放置在 BeginTransaction 和 EndTransaction 之間即可。

關于“在C#中怎么使用Dapper ORM”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女