9.7、查询结果集映射
我们总是将查询结果集进行筛选以选择我们必要的数据。
结果集映射好处
数据查询结果集映射也是一个非常重要的功能,此功能能够保护数据安全性,又能提高查询性能,也能减少网络传输大小。
所以,这里单独拿出一个章节去介绍查询结果集映射。
常见示例
比如我们的 Test
表有以下字段:
Id | Name | Age | CreatedTime | CreatedBy | FakeDelete |
1 | Monk | 27 | 2020-05-21 13:20:30 | SA | 0 |
2 | SNRC | 30 | 2020-05-21 19:20:30 | Monk | 1 |
Linq/Lambda 自带筛选
默认情况下,我们查询数据库数据会返回所有列数据,包括系统记录字段等这些无需传输给前端的数据。所以,我们可通过 Linq/Lambda
自带的 Select
方法进行筛选。如:
这样生成的 Sql
语句只会包含 Id, Name, Age
三个字段,这正式我们想要的。
如果筛选的字段很多怎么办?
如果 Select
筛选的字段很多,我们可以通过 ProjectToType<Dto>
方式,这样可以让我们的代码更加简洁且不易出错。如:
看,是不是更加简单啦!😊
查询数据返回后再映射
ProjectToType
只能处理简单的一一映射模式,如需更加复杂的映射配置,可查看 八、对象映射指南 章节。
常见用法是:.ToList()
之后接着调用 Adapt<Dto>()
。
最后更新于