.NET Dapper使用詳解


 

 

首先,在項目中引用或安裝Dapper:

 

Dapper操作數據庫鏈接字符串:

          /// <summary>
          /// 數據庫鏈接字符串
          /// </summary>
          private static readonly string connetionStr = "Data Source=.;uid=sa;pwd=123456;Initial Catalog=MyDb;";

Dapper查詢操作:

            //無條件
            using (IDbConnection connection = new SqlConnection(connetionStr))
            {
                var result = connection.Query<TB_Product>("SELECT TOP 10 * FROM dbo.TB_Product");
            }
            //帶有條件
            using (IDbConnection connection = new SqlConnection(connetionStr))
            {
                var result = connection.Query<TB_Product>("SELECT TOP 10 * FROM dbo.TB_Product  WHERE ID >@MinNumber AND ID <@MaxNumber", new { MinNumber = 5, MaxNumber = 10 });
            }
            using (IDbConnection connection = new SqlConnection(connetionStr))
            {
                var result = connection.Query<TB_Product>("SELECT TOP 10 * FROM dbo.TB_Product  WHERE ID IN @Ids", new { Ids = new int[] { 1, 2, 3 } });
            }    

 Dapper添加操作:

            //添加
            BOOKS booke = new BOOKS()
            {
                BNAME = "三國演義",
                AUTHOR = "羅貫中",
                PRICE = 100,
                QUANTITY = 999
            };
            using (IDbConnection connection = new SqlConnection(connetionStr))
            {
                string sql = $@"INSERT INTO dbo.BOOKS
                            ( BNAME, AUTHOR, PRICE, QUANTITY )
                    VALUES  ( @BNAME, -- BNAME - varchar(max)
                              @AUTHOR, -- AUTHOR - varchar(max)
                              @PRICE, -- PRICE - decimal
                              @QUANTITY  -- QUANTITY - int
                              )";
                int result = connection.Execute(sql, booke);
            }
            //批量添加
            List<BOOKS> bookList = new List<BOOKS> {
               new BOOKS(){BNAME = "三國演義",AUTHOR = "羅貫中",PRICE = 100,QUANTITY = 999}
              ,new BOOKS(){BNAME = "西游記",AUTHOR = "吳承恩",PRICE = 100,QUANTITY = 999}
            };
            using (IDbConnection connection = new SqlConnection(connetionStr))
            {
                string sql = $@"INSERT INTO dbo.BOOKS
                            ( BNAME, AUTHOR, PRICE, QUANTITY )
                    VALUES  ( @BNAME, -- BNAME - varchar(max)
                              @AUTHOR, -- AUTHOR - varchar(max)
                              @PRICE, -- PRICE - decimal
                              @QUANTITY  -- QUANTITY - int
                              )";
                int result = connection.Execute(sql, bookList);
            }

 Dapper刪除操作:

            //單個刪除
            using (IDbConnection connection = new SqlConnection(connetionStr))
            {
                string sql = "DELETE FROM dbo.BOOKS WHERE BNO=@ID";
                int result = connection.Execute(sql, new { ID = 1 });
            }
            //批量刪除
            List<BOOKS> books = new List<BOOKS> {
                new BOOKS{ BNO=3},
                new BOOKS{ BNO=2}
            };
            using (IDbConnection connection = new SqlConnection(connetionStr))
            {
                string sql = "DELETE FROM dbo.BOOKS WHERE BNO=@BNO";
                int result = connection.Execute(sql, books);
            }    

Dapper修改操作:

            //修改
            BOOKS booke = new BOOKS()
            {
                BNO = 7,
                BNAME = "三國演義Update",
                AUTHOR = "羅貫中",
                PRICE = 100,
                QUANTITY = 999
            };
            using (IDbConnection connection = new SqlConnection(connetionStr))
            {
                string sql = $@"UPDATE dbo.BOOKS SET BNAME=@BNAME ,AUTHOR=@AUTHOR ,PRICE=@PRICE ,QUANTITY=@QUANTITY WHERE BNO=@BNO";
                int result = connection.Execute(sql, booke);
            }
            //批量添加
            List<BOOKS> bookList = new List<BOOKS> {
               new BOOKS(){BNO=8,BNAME = "三國演義Update",AUTHOR = "羅貫中",PRICE = 100,QUANTITY = 999}
              ,new BOOKS(){BNO=9,BNAME = "西游記Update",AUTHOR = "吳承恩",PRICE = 100,QUANTITY = 999}
            };
            using (IDbConnection connection = new SqlConnection(connetionStr))
            {
                string sql = $@"UPDATE dbo.BOOKS SET BNAME=@BNAME ,AUTHOR=@AUTHOR ,PRICE=@PRICE ,QUANTITY=@QUANTITY WHERE BNO=@BNO";
                int result = connection.Execute(sql, bookList);
            }

好了,以上是基本操作以后有時間會更新其他操作!希望能幫助到大家!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM