# EaseDapper **Repository Path**: sugarbear/EaseDapper ## Basic Information - **Project Name**: EaseDapper - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2021-07-16 - **Last Updated**: 2025-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### EaseDapper --- #### 介绍 EaseDapper是支持.Net 3.1的Dapper扩展库。 #### 特点 - 简单易用。 - 易配置。 - 支持Lambda表达式查询 #### 使用说明 ##### 安装 - 通过终端安装 ``` Install-Package EaseDapper ``` - 通过Nuget包管理器安装 [![5V8TT1.png](https://z3.ax1x.com/2021/10/11/5V8TT1.png)](https://imgtu.com/i/5V8TT1) ##### 配置 ```C# ConnectConfig config = new ConnectConfig(); config.DbType = "MySql"; config.ConnectString = ""; IDataManager client = new DataManagerClient(config); ``` ##### 标准查询 ```c# List models = client.Query("SELECT * FROM Model WHERE Field1=@Field1 AND Field2=@Field2 AND Field3=@Field3 ORDER BY ModelTime DESC LIMIT 1", new { Field1 = 1, Field2 = State.Two, Field3 = "3" }).ToList(); ``` ##### Lambda查询 - Query 查询 ```C# List models = client.Query().ToList(); // SQL: // SELECT * FROM Model ``` - Where 查询 ```C# List models = client.Query().Where(item => item.Field1.Equals("Test")).ToList(); // SQL: // SELECT * FROM Model WHERE Field1 = 'Test' ``` - In 条件查询 ```c# List models = client.Query().Where(item => item.Field1.In("Test1","Test2")).ToList(); // SQL: // SELECT * FROM Model WHERE Field1 IN ('Test1','Test2') ``` - <> 条件查询 ```C# List models = client.Query().Where(item => item.Field1.Unequal("Test1")).ToList(); // SQL: // SELECT * FROM Model WHERE Field1 <> 'Test1' ``` - First 条件查询 ```c# Model models = client.Query().First(); // SQL: // SELECt * FROM Model LIMIT 1 ``` - Limit 条件 ``` Model models = client.Query().Take(2).ToList(); // SQL: // SELECt * FROM Model LIMIT 2 ``` - Between 条件查询 ```C# List models = client.Query().Between(a => a.Field1, "1", "20").ToList(); // SQL: // SELECT * FROM Model WHERE Field1 Between '1' AND '20' ``` - GroupBy 条件查询 ```C# List models = client.Query().GroupBy(item => new { item.Field1, item.Field2 }).ToList(); // SQL: // SELECT * FROM Model Group By Field1,Field2 ``` - Having 条件查询 ```c# List models = client.Query().GroupBy(item => new { item.Field1, item.Field2 }) .Having(item => item.Field1.Equals("Test1")).ToList(); // SQL: // SELECT * FROM Model Group By Field1,Field2 HAVING Field1 = 'Test1' ``` - OrderBy 条件查询 ```C# // 单字段排序: List models = client.Query().OrderBy(item => item.Field1, OrderPattern.Desc).ToList(); // SQL: // SELECT * FROM Model Order By Field1 DESC // 多字段排序: List models = client.Query().OrderBy(item => new { item.Field1, item.Field2 }, OrderPattern.Asc).ToList(); // SQL: // SELECT * FROM Model Order By Field1,Field2 ASC ``` - With 连接查询 ```c# // In List models = client.Query().With(a => a.Field, b => b.Field, client.Query(),WithPattern.In).ToList(); // SQL: // SELECT * FROM Model1 WHERE Field IN (SELECT Field FROM Model2) // = List models = client.Query().With(a => a.Field, b => b.Field, client.Query().EnableFirst(),WithPattern.Equals).ToList(); // SQL: // SELECT * FROM Model1 WHERE Field = (SELECT Field FROM Model2 LIMIT 1) ``` - Exist 条件 ```C# List models = client.Query().Exist(client.Query(), ExistPattern.None).ToList(); // SQL: // SELECT * FROM Model WHERE NOT Exists (SELECT 1 FROM Model) ``` - Or 条件查询 ```c# Model model = client.Query().Or(it => it.Field1.Equals("test1"), it => it.Field2.In("test2","test3")).First(); //SQL: // SELECT * FROM Model WHERE (Field1='test1') OR (Field2 IN ('test2','test3')) Limit 1 ``` ##### Lambda修改 ```C# int rows = client.Update().Invoke(it => it.Field1.Set("Test1"))(it => it.Field2.Equals("Test2")); // SQL: // Update Model Set Field1='Test1' Where Field2='Test2' ``` ```C# int rows = client.Update().SetValues(it => it.Field1.Set("Test1")).Where(it => it.Field2.Equals("Test2")).Execute(); // SQL: // Update Model Set Field1='Test1' Where Field2='Test2' ``` ##### Lambda删除 ```c# int rows = client.Delete().Where(it => it.Field1.Equals("Test1")).Execute(); // SQL: // Delete FROM Model Where Field1='Test1' ```