Mego开发文档 - 复杂查询

复杂查询

Mego 还支持一些更高级的LLINQ查询写法,本文只列出一部分。

分组汇总查询

            using (var db = new OrderManageEntities())
            {
                var query = from a in db.Products
                            group a by a.Category into g
                            select new
                            {
                                g.Key,
                                Count = g.Count(),
                                Max = g.Max(a => a.Id)
                            };
                var data = query.ToArray();
            }

分组查询及分页

using (var db = new OrderManageEntities())
{
    var query = (from a in db.Products
                 group a by a.Category into g
                 select new
                 {
                     g.Key,
                     List = g
                 })
                 .Skip(2).Take(2);
    var data = query.ToArray();
}

连接分组查询

using (var db = new OrderManageEntities())
{
    var query = from a in db.Orders
                join b in db.OrderDetails on a.Id equals b.OrderId into g
                select new
                {
                    Order = a,
                    MaxId = g.Max(m => m.Id)
                };
    var data = query.ToArray();
}

连接分组查询及分页

using (var db = new OrderManageEntities())
{
    var query = (from a in db.Orders
                 join b in db.OrderDetails on a.Id equals b.OrderId into g
                 select new
                 {
                     Order = a,
                     List = g
                 })
                 .Skip(5).Take(5);
    var data = query.ToArray();
}

原文地址:https://www.cnblogs.com/CarefreeXT/p/8747750.html

时间: 2024-10-19 14:17:24

Mego开发文档 - 复杂查询的相关文章

Mego开发文档 - 基础查询

基础查询 Mego 使用语言集成查询(LINQ)从数据库查询数据.LINQ允许您使用C#(或其他.NET语言)根据派生的上下文和实体类编写强类型查询.将LINQ查询的表示传递给数据库提供者,翻译为数据库特定的查询语言(例如关系数据库的SQL). 文档代码示例的模型都是基于测试用例所用的模型. 加载所有数据 using (var db = new OrderManageEntitie()) { var list = db.Products.ToList(); } 加载单个数据 比较常用的方法,可以

Mego开发文档 - 快速开始

Mego 快速开始 我们将创建一个简单的数据新增及查询来演示 Mego 的使用过程.演示中都是使用 Visual Studio 2017 作为开发工具,SQL Server 2012 作为数据库. 创建项目 首先我们先创建一个名为 MegoGetStarted 控制台项目,如下图所示. 安装Nuget包 从Visual Studio中的Nuget的包管理器中查找Caredev.Mego可以安装Mego如下图所示. 创建连接字符串 这一步需要确定连接数据库的连接字符串. <connectionSt

Mego开发文档 - 快速概述

Mego 快速概述 Mego 是一款轻量级,可扩展和跨平台的数据访问技术. Mego 是一个对象关系映射器(O / RM),它使.NET开发人员能够使用.NET对象处理数据库.它消除了开发人员通常需要编写的大部分数据访问代码的需求.Mego 支持多个数据库引擎,请参阅数据库提供者了解详细信息. 如果您想通过编写代码来学习,我们将推荐我们的入门指南之一,让您开始使用 Mego . 获取 Mego Mego 本身就支持多个数据库,不会发行特定数据库的版本.这里列举两种从Nuget上获取方法.在Vis

Mego开发文档 - 数据注释建模

数据注释建模 Mego框架使用一组约定来基于CLR类来构建模型.您可以指定其他配置来补充或覆盖通过约定发现的内容. 在 Mego 中所有的数据对象必须要有主键.这里需要声明与EF不同的是框架只支持数据注释的语法来构建模型,在框架自动发现后,只有通过其他接口才能更改模型定义,我们使用一种简单直接的方式来声明,例如: public class Blog { [Key] public int BlogId { get; set; } public string Url { get; set; } }

Mego开发文档 - 基本保存操作

基本保存操作 在Mego中没有更改跟踪,也就是说所有的新增.更新及删除都需要开发者自行判断.Mego会最为实际的将各个数据操作提交给数据库并执行. 添加数据 using (var db = new OrderManageEntities()) { db.Products.Add(new Product() { Id = 1, Name = "New Product", Code = "P1" }); db.Executor.Execute(); } 更新数据 usi

Mego开发文档 - 数据库建模

数据库建模 我们还提供了一些其他的特性,用于定制化数据库对应的数据结构. 表映射 框架默认会使用CLR类型名称做为实际数据库的表名,当两者不一致时可以使用该特性强制表名称. [Table("blogs")] public class Blog { public int BlogId { get; set; } public string Url { get; set; } } 列映射 框架默认会使用CLR属性名称做为实际数据库的列名,当两者不一致时可以使用该特性强制列名. public

手机客户端接口开发文档模板整理

这是个人整理的手机开发文档模板,方便自己以后编写文档. 大体内容如下,详细在个人csdn中下载: 移动端转发短信上传温湿度信息 移动端负责后台接收温湿度传感器通过短信发来的温湿度和经纬度信息,移动端后台接收后上传web服务器,当然传感器也可通过wifi直接上传web服务器.返回小写true或者false. 请求URL: http://192.168.1.101:8080/RFID/addTransTemperature.action?phoneNumber=123&temperature=12.

Android官方开发文档Training系列课程中文版:目录

原文地址 : http://android.xsoftlab.net/training/index.html 引言 在翻译了一篇安卓的官方文档之后,我觉得应该做一件事情,就是把安卓的整篇训练课程全部翻译成英文,供国内的开发者使用,尤其是入门开发者,虽然现在网络上有很多入门课程,但是还是依靠官方文档学习来的靠谱,安卓官方文档是一系列的课程,使每个人可以系统的掌握安卓的知识,相比其它课程来说,它为开发者提供了查缺补漏的功能. 在这里你可以领略到安卓开发世界的精彩. Tips : 同时,本目录可以作为

手机号码归属地接口开发文档及调用实例

手机号码归属地接口开发文档及调用实例,可查询手机号码的归属地信息,实现APP的快速开发! 接口名称:手机号码归属地接口 接口平台:聚合数据 接口地址:http://apis.juhe.cn/mobile/get 支持格式:JSON/XML 请求方式:GET/POST 请求示例:http://apis.juhe.cn/mobile/get?phone=13429667914&key=您申请的KEY 手机号码归属地接口JSON返回示例: { "resultcode":"2