一、示例用数据库为Northwind数据库,可在百度网盘下载

https://pan.baidu.com/s/1er0Mm48kUfeAsYkSW6DfnA 密码:r7pm

二、如何初始化SqlRepoEx请参看上一篇博文《轻量ORM-SqlRepoEx (二)初始化SqlRepoEx》

三、生成示例用类

public class Customers
{
#region 业务属性定义 public string CustomerID { get; set; } public string CompanyName { get; set; } public string ContactName { get; set; } public string ContactTitle { get; set; } public string Address { get; set; } public string City { get; set; } public string Region { get; set; } public string PostalCode { get; set; } public string Country { get; set; } public string Phone { get; set; } public string Fax { get; set; } #endregion
}

四、一个简单的Select调用

var repository = RepoFactory.Create<Customers>();

var results = repository.Query()

.Select(e => e.CustomerID, e => e.ContactName, e => e.CompanyName)

.OrderBy(e => e.CustomerID)

.Top(20)

.Go();

foreach (var item in results)

{

Console.WriteLine($"{item.CustomerID}\t {item.ContactName}\t\t {item.CompanyName} ");

}

得到如下结果:

	ALFKI    Maria Anders            Alfreds Futterkiste
ANATR Ana Trujillo Ana Trujillo Emparedados y helados
ANTON Antonio Moreno Antonio Moreno Taquería
AROUT Thomas Hardy Around the Horn
BERGS Christina Berglund Berglunds snabbk?p
BLAUS Hanna Moos Blauer See Delikatessen
BLONP Frédérique Citeaux Blondesddsl père et fils
BOLID Martín Sommer Bólido Comidas preparadas
BONAP Laurence Lebihan Bon app'
BOTTM Elizabeth Lincoln Bottom-Dollar Markets
BSBEV Victoria Ashworth B's Beverages
CACTU Patricio Simpson Cactus Comidas para llevar
CENTC Francisco Chang Centro comercial Moctezuma
CHOPS Yang Wang Chop-suey Chinese
COMMI Pedro Afonso Comércio Mineiro
CONSH Elizabeth Brown Consolidated Holdings
DRACD Sven Ottlieb Drachenblut Delikatessen
DUMON Janine Labrune Du monde entier
EASTC Ann Devon Eastern Connection
ERNSH Roland Mendel Ernst Handel

如果需要打印当前查询的SQL语句,而不是运行只需要调用Sql():

var results2 = repository.Query()

.Select(e => e.CustomerID, e => e.ContactName, e => e.CompanyName)

.OrderBy(e => e.CustomerID)

.Top(20)

.Sql();

得到如下结果:

SELECT TOP (20) [dbo].[Customers].[CustomerID]

, [dbo].[Customers].[ContactName]

, [dbo].[Customers].[CompanyName]

FROM [dbo].[Customers]

ORDER BY [dbo].[Customers].[CustomerID] ASC;

四、Select

1、实例一个查询实例的Repository

2、调用Repository 的Query() 获取一个查询类SelectStatement实例,此类实现大多数SQL查询场景;

3、SelectStatement有两个重要的方法

(1)、Sql()方法,此方法会返回当前repository.Query()的实际SQL语句;

(2)、Go()方法,此方法可将当前Select返回一个IEnumerable<TEntity>结果,另外,SelectStatement还实现了 ListEntityGo<TLEntity>()方法,返回一个List<TEntity>;

4、repository.Query()可简单的调用 repository.Query().Go(),这样会返回完整的实例集;其效果与repository.Query().SelectAll().Go();是一样的,但SelectAll()可以指定当前查询别名。、;

5、如果只需要返回数据集的部分字段数据,可以采用Select(e => e.CustomerID, e => e.ContactName, e => e.CompanyName)的表达示来获取特定列的数据;

轻量ORM-SqlRepoEx (三)Select语句的更多相关文章

  1. SqlSugar轻量ORM

      蓝灯软件数据股份有限公司项目,代码开源. SqlSugar是一款轻量级的MSSQL ORM ,除了具有媲美ADO的性能外还具有和EF相似简单易用的语法. 学习列表 0.功能更新 1.SqlSuga ...

  2. Dapper.NET——轻量ORM

    Dapper.NET使用 http://www.cnblogs.com/yankliu-vip/p/4182892.html 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Da ...

  3. Dapper.NET—轻量ORM

    Dapper.NET使用 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Dapper(4.0)为例. 2.1 在数据库中建立几张表. 2.2实体类. 3.使用方法 3.1  一 ...

  4. PL/SQL轻量版(三)——游标与异常处理

    一.游标 1.概念 游标是一个 指向上下文的句柄( handle) 或指针.通过游标,PL/SQL 可以控制上下文区和处理语句时上下文区会发生些什么事情. 2.游标处理 处理显式游标 主要包含以下四个 ...

  5. MySQL8.0关系数据库基础教程(三)-select语句详解

    1 查询指定字段 在 employee 表找出所有员工的姓名.性别和电子邮箱. SELECT 表示查询,随后列出需要返回的字段,字段间逗号分隔 FROM 表示要从哪个表中进行查询 分号为语句结束符 这 ...

  6. C# Dapper 轻量ORM调试对SQLServer

    Dapper简介 Dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快. 使用ORM的好处是增.删.改很快,不用自己写sql,因为这都是重复技 ...

  7. 轻量ORM-SqlRepoEx (四)INSERT、UPDATE、DELETE 语句

    *本文中所用类声明见上一篇博文<轻量ORM-SqlRepoEx (三)Select语句>中Customers类 一.增加记录 1.工厂一个实例仓储 var repository = Rep ...

  8. 轻量ORM-SqlRepoEx介绍

    轻量级 ORM-SqlRepoEx 介绍 SqlRepoEx是 .Net平台下兼容.NET Standard 2.0人一个轻型的ORM.解决了Lambda转Sql语句这一难题,SqlRepoEx使用的 ...

  9. 轻量ORM-SqlRepoEx (九)与Dapper共舞

    Dapper就另一个轻量ORM,Dapper及其扩展解决了数据访问端的大部门问题,提供了如数据事务管理.缓存等支持.SqlRepoEx的重点解决了Lambda转换成SQL语句,使SQL使用强类型编写, ...

随机推荐

  1. Java访问控制权限

    在Java中一共存在四种访问控制权限,即 private.default(默认).protected和public 1.private 访问权限 private属于私有访问权限,可以用在属性的定义.方 ...

  2. 【Linux】Vmware&Linux 网络配置

    Vmware 网络设置 Linux 网络设置 注:本实验使用Linux 版本为 RedHat 6.3 Vmware 网络设置 1.Vmware 网络工作模式 bridged(桥接模式) -- 网络能提 ...

  3. IT小小鸟读书笔记2

    Part4: 一.    大学的时光真的很容易荒废,自己的实力到头来和自己的成绩单一样空虚,其实自己也是深有同感的. 二.    这个观点我十分的认同:在某个方面比别人多5%的深度,可能拿到的报酬就是 ...

  4. 【转】SNR , Eb/N0 , Es/N0区别与联系

    原文地址:http://www.360doc.com/content/16/0505/23/532901_556620735.shtml 通信方向在做仿真时经常用到信噪比这个参数,而对于不同形式的信号 ...

  5. hibernate基础配置

    数据库表名和类名 一致 注解:可写可不写: XML:可写可不写: <class name="Student"> 不一致 注解:  public class Teache ...

  6. linux常用指令集-持续更新...

    0.查看所有java进程GC情况:for i in `jps|egrep -v "Jps|Launcher" |cut -d" " -f1`;do pwdx $ ...

  7. kubeadm安装kubernetes 1.12版本

    直接写过程,有些描述就省略了关于kubeadm安装k8s 1.11.2版本可以查看:https://www.cnblogs.com/shansongxian/p/9753603.html 首先查看下k ...

  8. vue v-on:事件

    1.js代码 var box=new Vue({ el:'.box', data:{ msg:'hello' }, methods:{ /*方法放置区,函数*/ show:function(){ // ...

  9. June 08th 2017 Week 23rd Thursday

    Life is like a beautiful melody, only the lyrics are messed up. 生命是首美丽的曲子,虽然歌词有些纠结. Now that we get ...

  10. 团队的初体验与Scrum的初识

    一. 队名及宣言 队名: the better for you 宣言: Change our lives with code 二. 队员及分工 a.承担软件工程的角色 姓名 学号 角色 蒋 婷 B20 ...