亚博足彩app苹果版资讯网

作者:安宗乙 来源:原创 发布日期:09-06

天津妆野送航天信息有限公司_Mego(03) - ORM框架的新选择

前言

从之前的两遍文章可以看出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入门

?创建模型

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

?关系数据库建模

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

?高级建模

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

?查询数据

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

?保存数据

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

?数据对象管理

ji ben bao cun gao ji ti jiao shu ju ni ming dui xiang bao cun shu ju bao cun guan xi shu ju chu li bing fa chong tu shi yong shi wu sheng cheng shu xing? shu ju dui xiang guan li

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

?数据库提供者


?

?

?

?

当前文章:http://www.s-r-bat.com/3zl/63437-484251-41776.html

发布时间:08:09:39

www.51789.com??www.pt345.com??611289.com??今天买马开什么生肖??一品堂论坛??香港六合彩历史记录??六合开奖结??百码汇心水论坛www.850555.com??状元红??香港正版六合宝典??

Copyright @ 2016-2018 亚博足彩app苹果版资讯网 版权所有