本书通过全面展示ORM框架Dapper及其扩展DapperExtensions的实际应用案例和完整源代码,帮助读者深入理解并掌握高效的数据访问技术。
根据博客园文章“搭建一套自己实用的.net架构(3)【ORM-Dapper+DapperExtensions】”,整合并杜撰了一套完整可运行代码,并去掉了HY.Web模块,添加了HY.Web.ConsoleTest控制台程序进行测试。
以下是具体的测试用例:
1. 插入数据:
```csharp
var service = new DeployService();
service.Insert(entity);
```
2. 查询所有记录:
```csharp
var allList = service.GetAll();
```
3. 多条件查询:创建了两个`PredicateGroup`对象,分别用于组合多个过滤条件,并使用不同的逻辑运算符(如AND和OR)进行连接。
```csharp
var pgMain = new PredicateGroup { Operator = GroupOperator.Or, Predicates = new List() };
var pga = new PredicateGroup() { Operator = GroupOperator.And, Predicates = new List() };
pga.Predicates.Add(Predicates.Field(f => f.DeployCode, Operator.Eq, 100));
pga.Predicates.Add(Predicates.Field(f => f.ID, Operator.Ge, 47));
pga.Predicates.Add(Predicates.Field(f => f.ID, Operator.Le, 48));
pgMain.Predicates.Add(pga);
var pgb = new PredicateGroup() { Operator = GroupOperator.And, Predicates = new List() };
pgb.Predicates.Add(Predicates.Field(f => f.DeployCode, Operator.Eq, 10000));
pgMain.Predicates.Add(pgb);
var specialList = service.GetList(pgMain).ToList();
```
4. 分页查询:获取分页列表并计算总行数。
```csharp
long allRowsCount = 0;
var pageList = service.GetPageList(1, 2, out allRowsCount);
```