Mego开发文档 - 数据库建模】的更多相关文章

数据库建模 我们还提供了一些其他的特性,用于定制化数据库对应的数据结构. 表映射 框架默认会使用CLR类型名称做为实际数据库的表名,当两者不一致时可以使用该特性强制表名称. [Table("blogs")] public class Blog { public int BlogId { get; set; } public string Url { get; set; } } 列映射 框架默认会使用CLR属性名称做为实际数据库的列名,当两者不一致时可以使用该特性强制列名. public…
Mego 开发文档 Mego 快速概述 主要特性 获取Mego 使用流程 模型 查询 保存数据 入门 Mego 快速开始 创建项目 安装Nuget包 创建连接字符串 创建模型及数据上下文(添加引用) 初始化数据库 演示添加及查询操作 从EF迁移到Mego框架 Code First创建EF 修改命名空间及注释 演示添加及查询操作 创建模型 数据注释建模 主键 自增列 排除属性 并发控制 可为空属性 长度 字符串 精度 数据库建模 表映射 列映射 数据类型 计算列 建模高级主题 函数映射 关系 继承…
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会支持数据DDL操作,由于部分数据库会…
数据注释建模 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中没有更改跟踪,也就是说所有的新增.更新及删除都需要开发者自行判断.Mego会最为实际的将各个数据操作提交给数据库并执行. 添加数据 using (var db = new OrderManageEntities()) { db.Products.Add(new Product() { Id = 1, Name = "New Product", Code = "P1" }); db.Executor.Execute(); } 更新数据 usi…
数据属性生成值 该功能用于在数据插入或更新时为指定属性生成期望的值,Mego提供了非常灵活的实现方式以满足各种数据提交时的自动赋值问题. 生成值目的及模式 在Mego中生成值的目的一定是插入数据或更新数据,我们对这两种目的分开管理没有任何关系. 有如下四种值生成模式可作用于属性: 标识列 数据库生成 表达式生成 内存中生成 标识列生成值 例如下面这个例子对象Customer的数据对象Id属性在添加时会以标识列处理,对象成功插入后会从数据库返回相应的值. public class Customer…