FreeSql学习笔记——8.数据返回类型

前言

 FreeSql数据返回格式比较丰富,包括单条、列表、导航属性数据、指定字段、Dto等;可以有效的减少代码量,减少字段复制等操作;

  前面的查询已经用到了日常基本需要用到的数据格式,本篇是常用格式的总结;

 

数据格式

 首先是最简单的查询单条数据,FreeSql提供了两个获取单条数据的方式,获取到的就是一个实体对象:

_freeSql.Select<Student>().ToOne();
_freeSql.Select<Student>().First();

 

列表

 列表与单条记录是使用最为频繁的结构了,获取到的是一个实体对象的集合:

_freeSql.Select<Student>().ToList();

  

注意:FreeSql中约定ToOne/First或的结果要么空,要么是实体对象;而Tolist返回的结果为非空的List<Entity>。

 

导航属性

  使用联表查询在生成sql时会将表关联起来查询,返回的结果会将关联的表数据填充到导航属性中

_freeSql.Select<Student>().LeftJoin(x => x.Class.Id == x.ClassId).First();
_freeSql.Select<Student>().LeftJoin(x => x.Class.Id == x.ClassId).ToList();

 

 指定字段

  当查询的结果只需要其中某些字段的时候使用,减少查询字段,优化sql语句

_freeSql.Select<Student>().ToList(x => new { x.Id, x.Name });

 

分页

  分页也是常用的数据格式,主要在返回的数据集较多,控制查询的数量时用到

_freeSql.Select<Student>().Page(1, 10).ToList();

 

Dto

  结果集拼装Dto,可以有效的减少代码赋值操作,FreeSql获取结果的时候可以帮助完成Dto的映射。

_freeSql.Select<Student>().ToList<StudentDto>();//RegistTime未赋值导致值为0001/01/01

//纠正映射字段
_freeSql.Select<Student>().ToList(x => new StudentDto { RegistTime = x.AddTime });//将AddTime映射到RegistTime字段上

 

以上为常用的数据的返回格式,当然FreeSql支持的返回格式不止于此,有兴趣可以深入了解http://freesql.net/guide/select-return-data.html

 

posted @ 2022-05-26 17:24  贰拾~  阅读(503)  评论(0编辑  收藏  举报