前言

  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

FreeSql学习笔记——8.数据返回类型的更多相关文章

  1. MySQL学习笔记之数据存储类型

    说明:本文是作者对MySQL数据库数据存储类型的小小总结. Numeric Type (数字类型) 1.TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT主要根据存储字节长度不 ...

  2. Spring MVC 学习笔记11 —— 后端返回json格式数据

    Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...

  3. GIS案例学习笔记-CAD数据分层导入现有模板实例教程

    GIS案例学习笔记-CAD数据分层导入现有模板实例教程 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 1. 原始数据: CAD数据 目标模板 2. 任务:分5个图层 ...

  4. Windows phone 8 学习笔记(2) 数据文件操作

    原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...

  5. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

  6. #学习笔记#JSP数据交互

    #学习笔记#JSP数据交互 数据库的使用方式:   当用户在第一个页面的查询框输入查询语句点提交的时候我们是用什么样的方式完成这个查询的? 答:我们通过在第一个页面提交表单的形式,真正的数据库查询时在 ...

  7. ArcGIS案例学习笔记_3_2_CAD数据导入建库

    ArcGIS案例学习笔记_3_2_CAD数据导入建库 计划时间:第3天下午 内容:CAD数据导入,建库和管理 目的:生成地块多边形,连接属性,管理 问题:CAD存在拓扑错误,标注位置偏移 教程:pdf ...

  8. ArcGIS案例学习笔记-CAD数据自动拓扑检查

    ArcGIS案例学习笔记-CAD数据自动拓扑检查 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 功能:针对CAD数据,自动进行拓扑检查 优点:类别:地理建模项目实例 ...

  9. Iris请求方式和数据返回类型

    1. Iris起服务 package main import "github.com/kataras/iris" func main() { //1.创建app结构体对象 app ...

  10. C++ 学习笔记 变量和基本类型(一)

    C++ 学习笔记 一.变量和基本类型概述 类型是所有程序的基础.类型告诉我们数据代表什么意思以及可以对数据执行哪些操作. c++基本类型: 字符型 整型 浮点型 c++ 还提供了可用于自定义数据类型的 ...

随机推荐

  1. SharpZipLib打.tar.gz压缩包

    .tar.gz是linux上常见的压缩格式,linux默认支持这种压缩格式,所以我们经常见到在linux系统上的.tar.gz包. 这里我们说一下怎么用SharpZipLib来打一个.tar.gz的压 ...

  2. Javascript遍历目录时使用for..in循环无法获取Files对象和SubFolders对象问题的解决方法

    1 Javascript遍历目录时使用for..in循环无法获取Files对象和SubFolders对象 1.1 问题场景   在JavaScript中遍历目录,使用for.. in循环时,无法获取到 ...

  3. 使用 Visual Studio 调试器附加到正在运行的进程

    使用 Visual Studio 调试器附加到正在运行的进程 使用场景 当项目在测试环境上有bug,需要运行代码调试一下,这时就需要在测试环境上安装一个调试工具,然后在本地运行代码,远程链接到测试环境 ...

  4. 从 CephFS 到 JuiceFS:同程旅游亿级文件存储平台构建之路

    随着公司业务的快速发展,同程旅行的非结构化的数据突破 10 亿,在 2022 年,同程首先完成了对象存储服务的建设.当时,分布式文件系统方面,同程使用的是 CephFS,随着数据量的持续增长,Ceph ...

  5. 技术漫谈|IVR通用开发框架简说

    IVR为Interactive Voice Response的缩写,意为交互式语音应答(系统).它可以应答客户的呼叫,然后为呼叫者提供语音导航或自助服务,呼叫者可通过按键输入或使用语音命令进行选择.随 ...

  6. 【PHP】连接数据库验证登陆

    界面 <!doctype html> <html lang="en"> <head> <!-- Required meta tags -- ...

  7. idea 2023.1.2 破解/激活

    参考:(感谢作者提供的破解教程,谢谢) IntelliJ IDEA 2023.1.1最新激活破解教程(永久激活,亲测有效) - 异常教程 (exception.site) 下载idea : 链接:ht ...

  8. Web前端常见的英文缩写

    PV (Page View)页面浏览量 FED(Front-End Development)前端开发 F2E(Front-End Engineer)前端工程师 WWW(World Wide Web)万 ...

  9. linux服务器清理指定日期所有垃圾日志文件

    阿里云服务器推荐购买99元 硬盘再大,也架不住日志文件多. 1.找到并清除30天前的所有日志文件. find / -name "*.log" -mtime +30 -exec rm ...

  10. Hugo 静态博客部署

    I. 前提条件 1.1 安装 Hugo 1.1.1 Windows 1.下载 Hugo(建议下载扩展版):Hugo(github.com) 2.解压 Hugo 压缩包到指定目录. 3.[Win + R ...