加载关系数据

Mego允许您使用模型中的导航属性来加载相关数据对象。目前只支持强制加载数据对象。只有正确配置了关系才能加载关系数据,相关内容可参考关系配置文档。

加载对象属性

您可以使用该Include方法指定要包含在查询结果中的相关数据。在以下两个示例中,结果中返回的订单中会包含相应客户的数据填充到Customer属性中。

using (var db = new OrderManageEntiti())
{
var data = db.Orders.Include(a => a.Customer).ToArray();
}
using (var db = new OrderManageEntiti())
{
var data = db.Orders.Include(“Customer”).ToArray();
}

加载集合属性

此示例中将加载订单与订单相关的所有明细。

using (var db = new OrderManageEntiti())
{
var data = db.Orders.Include(a => a.Details).ToArray();
}

加载数据并过滤

对加载的集合数据进行过滤,此示例中将加载订单与订单相关的所有价格大于100的明细。

using (var db = new OrderManageEntiti())
{
var data = db.Orders.Include(a => a.Details.Where(a => a.Price > 100).ToArray();
}

多层级加载及过滤

using (var db = new OrderManageEntities())
{
var query = db.Orders.Include(
a => a.Details
.Include(b => b.Product)
).ToArray();
}

加载关系数据及分页

using (var db = new OrderManageEntities())
{
var query = db.Orders.Include(
a => a.Details
.Include(b => b.Product)
).Skip(5).Take(5).ToArray();
}

加载关系数据及聚合

当我们加载相关数据还希望对其进行聚合汇总运算。

using (var db = new OrderManageEntities())
{
var query = from a in db.Orders.Include(a => a.Details)
select new
{
Order = a,
MaxId = a.Details.Max(m => m.Id)
};
var data = query.ToArray();
}

[文档目录]

Mego开发文档 - 加载关系数据的更多相关文章

  1. Mego开发文档 - 索引

    Mego 开发文档 Mego 快速概述 主要特性 获取Mego 使用流程 模型 查询 保存数据 入门 Mego 快速开始 创建项目 安装Nuget包 创建连接字符串 创建模型及数据上下文(添加引用) ...

  2. Mego开发文档 - 基础查询

    基础查询 Mego 使用语言集成查询(LINQ)从数据库查询数据.LINQ允许您使用C#(或其他.NET语言)根据派生的上下文和实体类编写强类型查询.将LINQ查询的表示传递给数据库提供者,翻译为数据 ...

  3. Mego开发文档 - 保存关系数据

    保存关系数据 由于没有对象的更改跟踪,因此关系的操作需要开发者明确指定,在成功执行后Mego会影响到相应的关系属性中. 添加关系 在以下示例中如果成功执行则source的Customer属性会变为ta ...

  4. Mego开发文档 - 快速开始

    Mego 快速开始 我们将创建一个简单的数据新增及查询来演示 Mego 的使用过程.演示中都是使用 Visual Studio 2017 作为开发工具,SQL Server 2012 作为数据库. 创 ...

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

    基本保存操作 在Mego中没有更改跟踪,也就是说所有的新增.更新及删除都需要开发者自行判断.Mego会最为实际的将各个数据操作提交给数据库并执行. 添加数据 using (var db = new O ...

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

    数据注释建模 Mego框架使用一组约定来基于CLR类来构建模型.您可以指定其他配置来补充或覆盖通过约定发现的内容. 在 Mego 中所有的数据对象必须要有主键.这里需要声明与EF不同的是框架只支持数据 ...

  7. Mego开发文档 - 快速概述

    Mego 快速概述 Mego 是一款轻量级,可扩展和跨平台的数据访问技术. Mego 是一个对象关系映射器(O / RM),它使.NET开发人员能够使用.NET对象处理数据库.它消除了开发人员通常需要 ...

  8. Mego开发文档 - 建模高级主题

    建模高级主题 在建模过程中我们还有许多其他情况,这里列出本框架中的有用特性来用于解决此类问题. 函数映射 我们可以将指定的CLR函数映射到数据库中的系统函数或自定义函数,该特性用于补充框架中未提供的数 ...

  9. Mego开发文档 - 数据属性生成值

    数据属性生成值 该功能用于在数据插入或更新时为指定属性生成期望的值,Mego提供了非常灵活的实现方式以满足各种数据提交时的自动赋值问题. 生成值目的及模式 在Mego中生成值的目的一定是插入数据或更新 ...

随机推荐

  1. fitnesse - 用例创建编辑、管理、执行和日志

    fitnesse - 用例创建编辑.管理.执行和日志 2017-10-09 目录 1 用例创建编辑  1.1 用例创建  1.2 用例编辑2 用例管理3 用例测试执行和日志  3.1 用例测试执行  ...

  2. centos7的服务管理

    1,启动服务(每条都可以)systemctl start httpdsystemctl start httpd.serviceservice httpd start 2,停止服务systemctl s ...

  3. 【重要】ionic和Angular的安装步骤

    首先搭建好npm和node环境的最新版本安装:: 一:开始安装ionic: 1. npm install -g ionic(全局安装ionic) 2. ionic start 新建的项目名称 +模板样 ...

  4. 笔记:Maven 配置文件模板

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  5. New UWP Community Toolkit - XAML Brushes

    概述 上一篇 New UWP Community Toolkit 文章中,我们对 V2.2.0 版本的重要更新做了简单回顾.接下来会针对每个重要更新,结合 SDK 源代码和调用代码详细讲解. 本篇我们 ...

  6. Git常用命令(二)------ 远程库操作

    本文总结自廖雪峰网站. Git支持多种协议,git://使用ssh协议,速度最快,也可使用https等协议. 对远程库操作: 推送: 1.先远程建立一个Repo库,f 2.远程和本地关联: git r ...

  7. Java基础学习笔记二十四 MySQL安装图解

    .MYSQL的安装 1.打开下载的mysql安装文件mysql-5.5.27-win32.zip,双击解压缩,运行“setup.exe”. 2.选择安装类型,有“Typical(默认)”.“Compl ...

  8. 『开源』设置系统 主音量(0~100 静音) VolumeHelper 兼容 Xp Win7 .Net 20 AnyCPU

    背景: 近来的生活一团乱麻,没心态写高大上的代码,于是就着手 写了几个 辅助类. 在整理 InkFx.Utils 时,发现有几个 辅助类 只写了定义,没有实现函数体,于是就 花了1天时间 完善了一下. ...

  9. python functools.lru_cache做备忘功能

    import time import functools def clock(func): @functools.wraps(func)#还原被装饰函数的__name__和__doc__属性 def ...

  10. Python 实现双端队列 Deque

    操作 Deque() 创建一个空的双端队列 add_front(item) 从队头加入一个item元素 add_rear(item) 从队尾加入一个item元素 remove_front() 从队头删 ...