FreeSql (二十二)Dto 映射查询

适合喜欢使用 dto 的朋友,不少时候 entity 与 dto 属性名相同,属性数据又不彻底一致。html

有的人先查回全部字段数据,再使用 AutoMapper 映射。app

咱们的功能是先映射,再只查询映射好的字段,节省了io性能。性能

Select<Tag>().Limit(10).ToList(a => new TestDto { id = a.Id, name = a.Title });
Select<Tag>().Limit(10).ToList(a => new TestDto());
Select<Tag>().Limit(10).ToList(a => new TestDto { });
Select<Tag>().Limit(10).ToList(a => new TestDto() { });
Select<Tag>().Limit(10).ToList<TestDto>();

这种映射支持单表/多表。code

查找规则,查找属性名,会循环内部对象 _tables(join 查询后会增加),以 主表优先查,直到查到相同的字段。htm

如:对象

A, B, C 都有 id,Dto { id, a1, a2, b1, b2 },A.id 被映射。也能够指定 id = C.id 映射。blog

友情提醒:在 dto 能够直接映射一个导航属性事务

系列文章导航

相关文章
相关标签/搜索