Mego(03) - ORM框架的新选择

小说:花棒籽批发基地在哪里?作者:辛卓安建更新时间:2019-04-26字数:86696

前言

从之前的两遍文章可以看出ORM的现状。

  1. Mego(01) - NET中主流ORM框架性能对比
  2. Mego(02) - NET主流ORM框架分析

首先我们先谈下一个我们希望的ORM框架是什么样子的:

  1. 基于ORM原理其性能一定不如手写SQL,但是可以有一定程度损失这就像C++和NET/JAVA的关系一样,所以性能不能太差。
  2. CLR模型可以和数据库对象结构高度一致,在大型项目中大家应该有过满世界找某表在哪里有用过,某个字段是否可以删除,某个字段是否可以改名的经历。手写SQL的代码对项目重构是个极大的挑战。
  3. ORM模型可以帮助维护数据库结构版本,相信有不少项目团队都需要手写数据库表的升级脚本。
  4. 可以用LINQ表达出大部分的业务增删改查,当然不可能全部做到,即使是手写SQL也有做不到的(例如大数据统计分析),我觉的可以有10%以内的复杂SQL手写。

可能许多开发者都会有找过让自己比较满意的ORM框架,我也是其中之一,在漫长的信息系统设计及开发工作中,一直希望能有一个功能强大性能不错的ORM框架。一直都很关注 EntityFramework 的版本升级,不过后来也很失望,它的发展太慢了。无论是EntityFramework 还是EntityFrameworkCore 都包含了微软的商业竞争的成分。当然期间也尝试过各种其他的ORM框架,都有各种各样的不足,这里就不一一列举了。

新选择

在各种纠结中于是诞生了这个新的ORM框架,我取名叫【Mego】,之所以叫这个名称是由于它包含了本框架的运作原理如下所示,取各个单词的首字母而得:

Metadata -> Expression -> Generate -> Object

元数据     -> 表达式        -> 生成         -> 数据对象

对于这个框架的定位是要在 功能和性能 两个方面取代 EntityFrameworkEntityFrameworkCore 。性能在第一篇博客中已经说明了目前已经超过了它们两个,功能上后续会写出这三个框架的功能对比。

简介

 Mego是一个高性能且功能强大的ORM框架,它基于 EntityFramework 和 EntityFrameworkCore 这两个著名的ORM框架吸收了其中优秀理念,借鉴了其中的许多的功能设计,完全支持LINQ写法,多数据库支持,支持NET3.5到目前最新NET及NETCore所有包含分布式事务的NET框架。为了让初学者易于上手及使用,我们最外层的API大部分与 EntityFramework 相同,如果有EF使用经验的人应该会很快上手。

我已经在Github上开源了Mego框架的源代码,欢迎大家给出改进意见。

支持NET版本

本框架支持下列NET版本及后续版本。

  1. .NETFramework, Version = v3.5
  2. .NETFramework, Version = v4.0
  3. .NETFramework, Version = v4.5
  4. .NETStandard, Version = 2.0

 

Mego框架使用文档

下面是本框架的使用文档,目前会一直在博客园发布框架使用文档,下面的文档会持续更新。


Mego入门

 创建模型

  • 主键约定
  • 可为空属性
  • 并发令牌
  • 排除属性

 关系数据库建模

  • 自增列
  • 表映射
  • 列映射
  • 数据类型
  • 计算列
  • 默认值
  • 长度
  • 字符串
  • 精度

 高级建模

  • 对象继承
  • 数据库函数映射
  • 关系配置

 查询数据

  • 基本查询
  • 高级查询
  • 加载相关数据
  • 匿名对象查询
  • 原生数据库操作

 保存数据

  • 基本保存
  • 高级提交数据
  • 匿名对象保存数据
  • 保存关系数据
  • 处理并发冲突
  • 使用事务
  • 生成属性

 数据对象管理

  • 数据库特性
  • 判断对象存在
  • 创建表
  • 创建关系

 数据库提供者


 

 

 

 

当前文章:http://leetaemin.cn/list_48255.html

发布时间:2019-04-26 05:43:22

白三叶种子一亩地需要多少钱? 吉林草坪品种有哪些? 经过改良的狗牙根种子多少钱一斤? 园林春季常用草花有哪些? 鸡血藤种子什么价格能买到? 冬牧70黑麦草几月份播种? 8月份适合种植光叶紫花苕吗? 2月可以播种剪股颖吗? 百慕大播种时间几月最好? 五彩石竹耐水湿吗?

51609 87082 82028 12961 87580 83574 92127 49633 46736 98217 81353 86177 44633 35322 66739 25934 64982 66845 40863 62549 43643 62211 88818

我要说两句: (0人参与)

发布