• 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

  • 相关阅读:
    kubespray -- k8s集群dashboard 访问方式
    calico 原理分析
    云主机被拿去挖矿,cpu暴涨,tcp连接突增
    监控虚拟机跟外部的tcp连接
    rook 排错记录 + Orphaned pod found kube-controller-manager的日志输出
    修改windows7本地策略--不能挂载磁盘和复制 -- 黏贴板-驱动器映射
    MySQL数据库锁机制之MyISAM引擎表锁和InnoDB行锁详解
    curl配置host
    博客收藏
    502的几种解决方案
  • 原文地址:https://www.cnblogs.com/zousc/p/16314251.html
Copyright © 2020-2023  润新知