• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MYear.ODA: C# .Net Database ORM for Oracle DB2 MySql SqlServer SQLite MariaDB; ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

MYear.ODA

开源软件地址:

https://gitee.com/riwfnsse/MYear.ODA

开源软件介绍:

MYear.ODA

简介

C# .Net Database ORM for Oracle DB2 MySql SqlServer SQLite MariaDB;
纯c#开发,支持.NetCore 2.0,.Net standard
MYear.ODA 是一个数据库访问的 ORM 组件,能够通用常用的数据库 DB2、Oracle、SqlServer、MySql(MariaDB)、SQLite;对不常用的数据库Informix、Sybase、Access也能简单的使用;
就目前而言,MYear.ODA 是支持 SQL 语法最完整的 C# ORM 组件;对于分库分表、或分布式数据库也留有很好的扩展空间。分页、动态添加条件、子查询、无限连接查询、Union、Group by、having、In子查询、Exists、Insert子查询、Import高速导入都不在话下,递归查询、case when、Decode、NullDefault、虚拟字段、数据库function、update 字段运算、表达式等都是 ODA 很有特色的地方。允许用户注入SQL代码段,允许用户自己编写SQL代码等,同时也支持存储过程Procedure(或oracle的包)
由于很多开发者都比较喜欢 Lambda 的直观简单,ODA 的查询也扩展了此功能。

ODA 可以在大型开发团队中,人员水平参差不齐的情况下,提高开发人员效率、规范代码编写方式及减少数据库访问问题。
ODA 的性能、功能、运行稳定性及并发性能都是非常强悍的,比Dapper、EF、SqlSugar都有过之而无不及。
注: 已有实际项目应用,且Oracle、Mysql、SqlServer 三个数据库上随意切换,
当然,建表时需要避免各种数据库的关键字及要注意不同数据库对数据记录的大小写敏感问题。

MYear.ODA 语法

ODA使用的是链式编程语法,对SQL语句进行直接映射,所以ODA的编写方式与SQL语法神似,只是把Select、Insert、Update、Delete 后置了。
因为ODA是对SQL语句进行直接映射,本身没有什么转换,不会象EF那样转换太多,造成真正在数据库里执行的SQL语句复杂、性能低下,且难以优化。
使用ODA时如有迷茫之处,基本可以用SQL语句类推出ODA的对应写法,学习以成本极低,也极容易成上手,也不需要象EF那样花很多时间去学习。
ODA为求通用各种数据库,转换出来的SQL都是标准通用的SQL语句;一些常用但数据不兼容的部分,在ODA内部实现(如递归树查询、分页等)。
MYear.ODA以 Select、Insert、Update、Delete、Procedure 方法为最终执行方法,调用这些方法时,ODA 将会把生成的SQL语句发送给数据库运行。

性能测试

在信息管理系统中,业务功能程序不会去追求极致的性能,满足一般的人机交互需求就可以;但在框架底层或影响全局的程序中(如 ORM 组件、AOP 容器等),特别是在并发量到达一定规模的时候,我们都会追求极致的性能。ORM 本身的性能会影响系统整体的性能,而且它的使用方式,可维护性,及对程序开发人员的约束,对系统整体性能有全面的影响。由于 ORM 对程序的侵入性,不好的ORM会把开发人员带偏,走向万劫不复的深渊,EF就是一个很好的反面教材;EF本身数据映性能就不好、SQL语句生成速度差,但要算最不靠谱的,应该就是生成出来的SQL语句了。EF生成的SQL有很多的转换,语句非常复杂,经常走不上索引,还没办法优化,导致这些SQL语句在数据库里头运行的简直就是奇慢无比。再加上EF、Linq的语法需要花大力气去学,使用起来的开发效率也十分低下,代码难以维护,综合起来就是一个恶梦。要说 ORM 本身的性能其实是比较其次的(虽然ODA的性非常强悍),但关键是 ORM 不要带偏开发者,然后就是能够规范访问数据库程序代码,提高程序的可维护性同时也要提高开发效率,支持后续的延申应用(如分库、分表,多数据库混用等),而且 ORM 应该要做到数据库通,同时也要约束开发者不要去使用某个数据库特有的东西。这才是 ORM 的追求。

数据映射性

1000000条数据记录,查询出来并转成对应的实体对象。相较于EF 、Dapper 和 Sqlsugar,ODA 的性能是最好的


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
binlogAL: MySQL 的 binlog 分析工具发布时间:2022-03-24
下一篇:
audb: 一个数据高度加密,具有反DDOS,反破解机制的数据库发布时间:2022-03-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap