Mego开发文档 - 基础查询
基础查询
Mego 使用语言集成查询(LINQ)从数据库查询数据。LINQ允许您使用C#(或其他.NET语言)根据派生的上下文和实体类编写强类型查询。将LINQ查询的表示传递给数据库提供者,翻译为数据库特定的查询语言(例如关系数据库的SQL)。
文档代码示例的模型都是基于测试用例所用的模型。
加载所有数据
using (var db = new OrderManageEntitie())
{
var list = db.Products.ToList();
}
加载单个数据
比较常用的方法,可以支持First()、Single()、ElementAt()。
using (var db = new OrderManageEntit())
{
var data = db.Products.FirstOrDefault();
}
using (var db = new OrderManageEntit())
{
var data = db.Products.ElementAt(4);
}
汇总查询
using (var db = new OrderManageEntit())
{
var data = db.Products.Count();
}
查询过滤
using (var db = new OrderManageEnti())
{
var data = db.Products.Where(a => a.Name.Contains("P")).ToArray();
}
查询投影
using (var db = new OrderManageEntiti())
{
var query = from a in db.Products
select new
{
a.Id,
a.Name
};
var data = query.ToList();
}
查询分页
using (var db = new OrderManageEntities())
{
var data = db.Products.Take(10).Skip(20);
}
内连接查询
using (var db = new OrderManageEntities())
{
var query = from a in db.Products
join b in db.Customers on a.Id equals b.Id
select new { a, b };
var data = query.ToList();
}
左连接查询
using (var db = new OrderManageEntities())
{
var query = from a in db.Products
join b in db.Customers on a.Id equals b.Id into g
from b in g.DefaultIfEmpty()
select new { a, b };
var data = query.ToList();
}
多查询连接
using (var db = new OrderManageEntities())
{
var query = (from a in db.Customers
select new
{
a.Id,
a.Code,
a.Name
})
.Concat
(from b in db.Products
select new
{
b.Id,
b.Code,
b.Name
});
var data = query.ToArray();
}
Mego开发文档 - 基础查询的更多相关文章
- Mego开发文档 - 复杂查询
复杂查询 Mego 还支持一些更高级的LLINQ查询写法,本文只列出一部分. 分组汇总查询 using (var db = new OrderManageEntities()) { var query ...
- Mego开发文档 - 索引
Mego 开发文档 Mego 快速概述 主要特性 获取Mego 使用流程 模型 查询 保存数据 入门 Mego 快速开始 创建项目 安装Nuget包 创建连接字符串 创建模型及数据上下文(添加引用) ...
- Mego开发文档 - 快速概述
Mego 快速概述 Mego 是一款轻量级,可扩展和跨平台的数据访问技术. Mego 是一个对象关系映射器(O / RM),它使.NET开发人员能够使用.NET对象处理数据库.它消除了开发人员通常需要 ...
- Mego开发文档 - 快速开始
Mego 快速开始 我们将创建一个简单的数据新增及查询来演示 Mego 的使用过程.演示中都是使用 Visual Studio 2017 作为开发工具,SQL Server 2012 作为数据库. 创 ...
- Mego开发文档 - 加载关系数据
加载关系数据 Mego允许您使用模型中的导航属性来加载相关数据对象.目前只支持强制加载数据对象.只有正确配置了关系才能加载关系数据,相关内容可参考关系配置文档. 加载对象属性 您可以使用该Includ ...
- Mego开发文档 - 复杂保存操作
复杂保存操作 Mego框架还提供了更强大的数据更新API,以简化开发工作,同时也保证的性能. 指定属性添加数据 本列中指定插入一个数据对象,并且只会插入三列数据,最后两个属性是以表达式的形式插入. u ...
- Mego开发文档 - 从EF6/EFCore迁移到Mego
从EF6/EFCore迁移到Mego框架 如果您有EntityFragmework6或EntityFragmeworkCore的开发经验,在首次接触Mego框架时会发现这两个框架非常相似,本文将帮忙您 ...
- Mego开发文档 - 数据注释建模
数据注释建模 Mego框架使用一组约定来基于CLR类来构建模型.您可以指定其他配置来补充或覆盖通过约定发现的内容. 在 Mego 中所有的数据对象必须要有主键.这里需要声明与EF不同的是框架只支持数据 ...
- Mego开发文档 - 建模高级主题
建模高级主题 在建模过程中我们还有许多其他情况,这里列出本框架中的有用特性来用于解决此类问题. 函数映射 我们可以将指定的CLR函数映射到数据库中的系统函数或自定义函数,该特性用于补充框架中未提供的数 ...
随机推荐
- Micropython TurnipBit 青少年入门编程 交通灯实验
不知道大家小时候对红绿灯的原理有什么研究过,我是农村的孩子直到初中才见到真实的红绿灯,当时我记得很清楚,在那个路口站了五六分钟就盯着红绿灯变换,搞不清原理,只觉得神奇.现在想来实在可笑,今天写这个的很 ...
- Global.asax 中校验Session
Application 相关的 Application_Init:在每一个HttpApplication实例初始化的时候执行. Application_Disposed:在每一个HttpApplica ...
- 洛谷 P1017 进制转换
推荐洛谷 题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*10^2+2*10^1+ ...
- Jquery EasyUI datagrid 的一些问题
在使用 Easy UI datagrid时 出现了一下小问题: table 中 有数据,但是 没有标题行名..在其他页面同样使用了datagrid 但是没有这样问题. 仔细检查了js代码,确认无误后 ...
- CentOS7+mysql5.6配置主从
一.安装环境 操作系统:CentOS-7-x86_64-DVD-1611.iso数据库版本:mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz数据库地址: 192.1 ...
- 5分钟学习spark streaming之 轻松在浏览器运行和修改Word Counts
方案一:根据官方实例,下载预编译好的版本,执行以下步骤: nc -lk 9999 作为实时数据源 ./bin/run-example org.apache.spark.examples.sql.str ...
- 20165230 预备作业3 Linux安装及学习
20165230 预备作业3 Linux安装及学习 安装Linux操作系统 通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,开始了虚拟机的安装,根据教程按着步骤一步一步的完成. 遇 ...
- dot watch+vs code提成asp.net core开发效率
在园子中,已经又前辈介绍过dotnet watch的用法,但是是基于asp.net core 1.0的较老版本来讲解的,在asp.net core 2.0的今天,部分用法已经不太一样,所以就再写一篇文 ...
- 笔记:Spring Cloud Eureka 服务发现与消费
服务发现与消费,其服务发现的任务是由Eureka的客户端完成,而服务的消费任务由Ribbon.JerseyClient等完成,Ribbon是一个基于HTTP和TCP的客户端负载均衡器:使用Jersey ...
- Algorithm --> 快速排序
快速排序 算法思想 快速排序采用的思想是分治思想. 快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的 元素值都 ...