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

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

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

三、生成示例用类

  1. public class Customers
  2. {
  3. #region 业务属性定义
  4.  
  5. public string CustomerID { get; set; }
  6.  
  7. public string CompanyName { get; set; }
  8.  
  9. public string ContactName { get; set; }
  10.  
  11. public string ContactTitle { get; set; }
  12.  
  13. public string Address { get; set; }
  14.  
  15. public string City { get; set; }
  16.  
  17. public string Region { get; set; }
  18.  
  19. public string PostalCode { get; set; }
  20.  
  21. public string Country { get; set; }
  22.  
  23. public string Phone { get; set; }
  24.  
  25. public string Fax { get; set; }
  26.  
  27. #endregion
  28. }

四、一个简单的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} ");

}

得到如下结果:

  1. ALFKI Maria Anders Alfreds Futterkiste
  2. ANATR Ana Trujillo Ana Trujillo Emparedados y helados
  3. ANTON Antonio Moreno Antonio Moreno Taquería
  4. AROUT Thomas Hardy Around the Horn
  5. BERGS Christina Berglund Berglunds snabbk?p
  6. BLAUS Hanna Moos Blauer See Delikatessen
  7. BLONP Frédérique Citeaux Blondesddsl père et fils
  8. BOLID Martín Sommer Bólido Comidas preparadas
  9. BONAP Laurence Lebihan Bon app'
  10. BOTTM Elizabeth Lincoln Bottom-Dollar Markets
  11. BSBEV Victoria Ashworth B's Beverages
  12. CACTU Patricio Simpson Cactus Comidas para llevar
  13. CENTC Francisco Chang Centro comercial Moctezuma
  14. CHOPS Yang Wang Chop-suey Chinese
  15. COMMI Pedro Afonso Comércio Mineiro
  16. CONSH Elizabeth Brown Consolidated Holdings
  17. DRACD Sven Ottlieb Drachenblut Delikatessen
  18. DUMON Janine Labrune Du monde entier
  19. EASTC Ann Devon Eastern Connection
  20. 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. Jvav Collection-List

    package 集合; import java.util.ArrayList; import java.util.Collection; /** * 集合和数组的区别: * 1.长度 * 数组长度固定 ...

  2. bzoj 4543: [POI2014]Hotel加强版

    Description 给出一棵树求三元组 \((x,y,z)\,,x<y<z\) 满足三个点两两之间距离相等,求三元组的数量 Solution 考虑暴力 \(DP\) 设 \(f[i][ ...

  3. javascript window.open in safari

    在ios系统中,无法使用 window.open 打开url,经过一番尝试终于找到了解决办法 var url='http://www.baodu.com'; var deviceAgent = nav ...

  4. js实现选中当前元素并改变颜色(js、jq的各种循环)

    1.jq伪类选择器(:not)的使用 2.js jq运用数组循环 3.checkbox的选中循环事件 4.select的选中事件 <select class="ssss" o ...

  5. 安装redis服务端

    1. redis服务端和客户端的安装 [root@xxx ~]# cd /usr/local/src [root@xxx src]# wget http://download.redis.io/rel ...

  6. Nodejs 如何制作命令行工具

    # 全局安装,安装报错是需要前面加上sudo $ sudo npm install -g xxxb # 输出帮助 $ xxxb -h Usage: xxxb 这里是我私人玩耍的命令哦![options ...

  7. win10下clodeblocks编译C语言乱码

    打开settings->compile,在other compiler options添加下面两行代码: -fexec-charset=GBK-finput-charset=UTF-8

  8. Linux C -> symlink 和 readlink -> 符号链接

    Linux C -> symlink 和 readlink -> 符号链接 -------------------------------------------------------- ...

  9. attention

    attention: 时序的刻画 attention 在recommendation 中的应用: 年龄的增长, 对于商品的喜好 Dynamic attention deeo model:

  10. matlab练习程序(单源最短路径Dijkstra)

    图的相关算法也算是自己的一个软肋了,当年没选修图论也是一大遗憾. 图像处理中,也有使用图论算法作为基础的相关算法,比如图割,这个算法就需要求最大流.最小割.所以熟悉一下图论算法对于图像处理还是很有帮助 ...