轻量级的.Net Orm框架

轻量级的.Net Orm框架

  • 开源协议:未知
  • 操作系统: Windows
  • 开发语言:C#
  • 收录时间:2015-12-12
  • 分享:
编辑评级
3

项目详细介绍

      XCode是一个轻量级的数据映射框架,提供以面向对象的方式操作数据库的功能,能够解决90%以上的数据库操作场景。做为X系列组件最重要的一员,XCode秉承了简单实用的特点,力求以最简单的做法,解决最普遍的问题。
     XCode最大的“缺点”就是“不支持”多表查询!为何不支持要加双引号?那是因为XCode实际上支持多表查询,只是用起来非常复杂,也不容易讲清楚,会严重影响基本功能的学习理解,所以逢人问到,我都回答不支持!至于缺点二字加双引号,是因为XCode有一整套替代方案,在绝大多数情况上,更优于多表查询。

      XCode是一个超越了ORM范围的映射组件,除了对象到关系数据库的映射外,还有到网络和其它二进制形式等的映射,所以称之为数据映射组件。


相对于国内外其它ORM,XCode具有以下优势:


1,采用最好的分页算法,高效处理海量数据

       数据分页的思想贯穿整个XCode的生命周期,任何一个不论大小的测试,数据样本都是单表一千万起。其它很多ORM,在数据达到百万之后会变慢,达到千万后基本上就卡死了。XCode同时支持最流行的几大数据库分页算法,经过10多年的经验积累,根据数据库类型、版本以及所处环境,自动选择最佳的分页算法。当前很多其它ORM要么仅支持一两种数据库的分页算法,要么采用的分页算法具有极大的局限性,要求所设计的数据表必须具有某种特征。


2,先进的多级缓存思想,保证最出色的性能

     XCode在最重要的数据管道主线上拥有三级缓存设计,在其它地方拥有无数的缓存设计。缓存的设计,让使用XCode开发的系统在性能上能够轻易超越采用原生数据库操作开发的系统,甚至有成千上万倍的差距!几乎所有的ORM都基于原生数据库操作,理论上会比原生数据库操作要慢一点,只有极少数使用了缓存的ORM会比原生数据库操作要快一些,但远没有XCode这么多的缓存设计。


3,化繁为简,容易上手

       最流行的Hibernate、EF等ORM框架,追求完美的支持所有功能,庞大无比,让很多使用者望而却步。而XCode的核心思想是让一切变得简单,变得更简单!甚至连多表关联查询都不支持,而建议分为多次单表查询。也正因为化繁为简,使得XCode能够采用更多的缓存,化繁为简与缓存思想互相促进,甚至可以让多次单表查询远快于单次多表关联查询。


4,抽象实体结构,支持多数据库的正向反向工程

        绝大多数ORM只负责对象与关系数据库的数据映射,而少有数据结构的映射。正向功能能够取得数据库结构,便于代码生成器使用;反向工程能够根据实体结构创建数据表、修改数据表结构、删除数据表或字段等,所以采用XCode开发的系统,发布的时候都可以不需要附带初始数据库。正向工程反向工程均是XCode提出的概念,在08年之前,除了XCode外没有任何其它ORM支持反向工程。也正是因为实体结构映射这一设计,使得XCode超越ORM,发展成为可以把实体对象映射到其它非数据库的形式。


5,分布式支持

        尽管XCode采用了最好的分页算法,但对于大型系统甚至超级系统来说,单表数千万乃至数亿的数据是远远不能满足要求的。不管从数据存储还是从性能瓶颈的角度来考虑,分布式是必然趋势!XCode原生支持分布式设计。单表拆成多表,拆分到不同数据库、不同数据库服务器,XCode能够完全屏蔽数据层,使用起来就跟一张超级大表一样。其它绝大多数ORM不会对分布式实行原生支持,需要分布式数据库或者极其昂贵的硬件来配合才能做到。
总的来说,最好的分页算法保证基本操作不犯错,化繁为简和多级缓存的设计保证XCode在性能上永无止境,所以,XCode的最大优势就是性能!


相关的博客文章地址:

NewLife.XCode 上手指南(1)-基础介绍入门 
NewLife.XCode 上手指南(2)-反向工程使用
NewLife.XCode 上手指南(3)-扩展属性使用
NewLife.XCode 上手指南(4)-级联操作
NewLife.XCode 上手指南(5)-复杂查询

1,日志组件XLog

2,ORM组件XCode(速览)

3,ORM组件XCode(简介)

4.与ObjectDataSource共舞

5,ORM组件XCode(动手)

6,ORM组件XCode(撬动千万级数据)

7.充血模型的ORM能做什么?——ORM组件XCode(十八般武艺)

8,协议序列化组件NewLife.Serialization

9.性能&分布式&NewLife.XCode对无限数据的支持

10.XCode读取Excel数据(适用于任何数据库)

11.在XCode中如何使用高级查询

12.XCode中如何使用事务

13.数据映射组件NewLife.XCode优势

14.XCode之第一次亲密接触

15.NewLife.XCode中如何借助分部抽象多个具有很多共同字段的实体类

16.XCode最佳实践之最佳数据类型

17.XCode新增数据转换功能(导数据)

18.Oracle免客户端For .Net(只为用NewLife.XCode开发Oracle的同学服务)

拥有自己的代码生成器—Newlife.Xcode模板编写教程

拥有自己的代码生成器—NewLife.XCode代码生成器分析

利用Xcode 20行代码搞定任何数据库的迁移

使用Xcode自动向数据库插入测试数据(不需要实体类)[修改后]

关于Xcode数据库反向工程的理解

标签:.net