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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现