.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