Mego开发文档 - 快速开始】的更多相关文章

Mego 快速概述 Mego 是一款轻量级,可扩展和跨平台的数据访问技术. Mego 是一个对象关系映射器(O / RM),它使.NET开发人员能够使用.NET对象处理数据库.它消除了开发人员通常需要编写的大部分数据访问代码的需求.Mego 支持多个数据库引擎,请参阅数据库提供者了解详细信息. 如果您想通过编写代码来学习,我们将推荐我们的入门指南之一,让您开始使用 Mego . 获取 Mego Mego 本身就支持多个数据库,不会发行特定数据库的版本.这里列举两种从Nuget上获取方法.在Vis…
Mego 快速开始 我们将创建一个简单的数据新增及查询来演示 Mego 的使用过程.演示中都是使用 Visual Studio 2017 作为开发工具,SQL Server 2012 作为数据库. 创建项目 首先我们先创建一个名为 MegoGetStarted 控制台项目,如下图所示. 安装Nuget包 从Visual Studio中的Nuget的包管理器中查找Caredev.Mego可以安装Mego如下图所示. 创建连接字符串 这一步需要确定连接数据库的连接字符串. <connectionSt…
Mego 开发文档 Mego 快速概述 主要特性 获取Mego 使用流程 模型 查询 保存数据 入门 Mego 快速开始 创建项目 安装Nuget包 创建连接字符串 创建模型及数据上下文(添加引用) 初始化数据库 演示添加及查询操作 从EF迁移到Mego框架 Code First创建EF 修改命名空间及注释 演示添加及查询操作 创建模型 数据注释建模 主键 自增列 排除属性 并发控制 可为空属性 长度 字符串 精度 数据库建模 表映射 列映射 数据类型 计算列 建模高级主题 函数映射 关系 继承…
从EF6/EFCore迁移到Mego框架 如果您有EntityFragmework6或EntityFragmeworkCore的开发经验,在首次接触Mego框架时会发现这两个框架非常相似,本文将帮忙您了解到两者的差异以及从EF6/EFCore迁移到Mego的方法. Mego本身就是基于EF6与EFCore的思想来开发的,因此这两者的很多做法都是相通的,同时为了考虑到易于使用,所以最外层的API我们几乎还是维持了EF6的原样,但是它们毕竟还是两个框架,只是表面相似其实有着本质的不同.这里我们列出几…
数据注释建模 Mego框架使用一组约定来基于CLR类来构建模型.您可以指定其他配置来补充或覆盖通过约定发现的内容. 在 Mego 中所有的数据对象必须要有主键.这里需要声明与EF不同的是框架只支持数据注释的语法来构建模型,在框架自动发现后,只有通过其他接口才能更改模型定义,我们使用一种简单直接的方式来声明,例如: public class Blog { [Key] public int BlogId { get; set; } public string Url { get; set; } }…
建模高级主题 在建模过程中我们还有许多其他情况,这里列出本框架中的有用特性来用于解决此类问题. 函数映射 我们可以将指定的CLR函数映射到数据库中的系统函数或自定义函数,该特性用于补充框架中未提供的数据库函数交互. public class OrderManageEntities : DbContext { public OrderManageEntities(string name) : base(name) { } [DbFunction("GetSno")] public int…
基础查询 Mego 使用语言集成查询(LINQ)从数据库查询数据.LINQ允许您使用C#(或其他.NET语言)根据派生的上下文和实体类编写强类型查询.将LINQ查询的表示传递给数据库提供者,翻译为数据库特定的查询语言(例如关系数据库的SQL). 文档代码示例的模型都是基于测试用例所用的模型. 加载所有数据 using (var db = new OrderManageEntitie()) { var list = db.Products.ToList(); } 加载单个数据 比较常用的方法,可以…
复杂查询 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(); } 分…
加载关系数据 Mego允许您使用模型中的导航属性来加载相关数据对象.目前只支持强制加载数据对象.只有正确配置了关系才能加载关系数据,相关内容可参考关系配置文档. 加载对象属性 您可以使用该Include方法指定要包含在查询结果中的相关数据.在以下两个示例中,结果中返回的订单中会包含相应客户的数据填充到Customer属性中. using (var db = new OrderManageEntiti()) { var data = db.Orders.Include(a => a.Custome…
基本保存操作 在Mego中没有更改跟踪,也就是说所有的新增.更新及删除都需要开发者自行判断.Mego会最为实际的将各个数据操作提交给数据库并执行. 添加数据 using (var db = new OrderManageEntities()) { db.Products.Add(new Product() { Id = 1, Name = "New Product", Code = "P1" }); db.Executor.Execute(); } 更新数据 usi…