一、Moon.Orm框架总述 (您还用hibernate?实体框架?)

1.框架名:Moon 意思是月亮,而非Mono.因为很喜欢明月,所以以此为名.它是一个.NET下的Orm框架.

2.发展历史:历经近乎三年的发展历程,起因是EF框架的起初性能原因,为项目实战而生.

3.项目经验:经过数家公司项目实战、以及众多用户的肯定.

qq群: 

Moon.Orm的追求方向:

1)高性能.
这也是架构创建的目的之一,已经将它的性能提升到了极致.大家可以自己测试.我可以说其性能是数一数二的.
连接地址:Moon洗冤录
2)易用性强
我想,用过Moon.ORM的应该可以知道这点.配置简单,智能感知,代码生成器的辅助,会sql就可使用之.
详情见,连接地址:Moon使用配置说明
3)多数据库多数据源支持
在同一个项目中我们常常需要处理这些情况时.目前moon的目标,支持sqlserver sqlite oracle mysql postgreSQL db2

如果您需要换数据库:直接修改配置文件然后一键生成实体层即可;

如果您需要多数据库:直接添加配置文件即可.详情:Moon使用配置说明

4)智能感知

这个不用讲了,值得一提的是MQL,她能够为你提供强大的智能感知功能,并且无数据库类型差异.

详情:MQL无linq化的战役

5).NET 2.0原生支持.

有人问:为什么没有LINQ、lambda,其实我只想说:没有必要做这些了,因为微软一个团队在做实体框架,去做一些不必要的事情,

真的没有意思. 觉得MQL复杂的兄弟们,有了智能感知,你们就适应适应,因为这是萝卜白菜的问题.

6) 使用便捷.

这个其实上面的链接也谈到,详情见:http://www.cnblogs.com/humble/p/3293500.html

二、Moon.Orm的功能预览

2.MQL查询分类讲解

2.1 MQL的标准查询

var mm=ClassSet.Select(ClassSet.ClassID,ClassSet.ClassName).

)));

SELECT [Class].[ClassID],[Class].[ClassName] FROM [Class] WHERE [Class].[ClassName] LIKE @p1  AND  [Class].[ClassID]>@p2
@p1=%s%
@p2=9

2.2 MQL的嵌套查询(含有Top查询:支持mysql、oracle、postgreSQL、sqlserver、sqlite)

))
                            )
                        )
                    )
                  ) 
                ).);

SELECT TOP 1 [Score].* FROM [Score] WHERE [Score].[UserID] IN (SELECT [User].[UserID] FROM [User] WHERE [User].[ClassID] IN (SELECT [Class].[ClassID] FROM [Class] WHERE [Class].[ClassName]=@p1  AND  [Class].[ClassID]>@p2 ) )
@p1=综合测试ClassName2
@p2=0

2.3 MQL的分组查询

var mql=ScoreSet.Select(ScoreSet.ScoreM.Sum().AS("sum"),ScoreSet.TypeName).

)).

GroupBy(ScoreSet.TypeName).

));

SELECT SUM([Score].[ScoreM]) AS 'sum',[Score].[TypeName] FROM [Score] WHERE  [Score].[ScoreM]>=@p1  GROUP BY [Score].[TypeName]  HAVING  SUM([Score].[ScoreM])>@p2
@p1=100
@p2=300

2.4 MQL的连接查询

));
SELECT [Class].[ClassID],[Class].[ClassName],[User].[UserID] FROM [Class] LEFT JOIN [User] ON [Class].[ClassID]=[User].[UserID]  WHERE  [User].[UserID]>@p1
@p1=9

2.5 MQL的Union查询

))
                    .)));
))
                    .)));

SELECT [Class].* FROM [Class] WHERE  [Class].[ClassID]>@p1  UNION  SELECT [Class].* FROM [Class] WHERE  [Class].[ClassID]>@p2
@p1=1
@p2=2
SELECT [Class].* FROM [Class] WHERE  [Class].[ClassID]>@p1  UNION ALL SELECT [Class].* FROM [Class] WHERE  [Class].[ClassID]>@p2
@p1=1
@p2=2

3.MQL查询结果预览

))
                            )
                        )
                    )
                  ) 
                ).);
               
                Console.)).));
              
                Console.));

}
            Console.))
                    .)));

}
        }

三、Moon.Orm的开源发布

1)Moon.Orm 5.0之前的版本以(LGPL)开源发布

2)之后的版本步步开源,对于参与者提供源代码.

如果您参与Moon.Orm的核心开发或辅助平台开发,您将直接获得5.0的源代码,有意者联系:qsmy_qin@163.com

当然您可以资金支持.十块钱那也是支持,请注明,您的邮箱地址.

 

5.0框架下载:http://www.cnblogs.com/humble/p/3298594.html

5.0社区版代码生成器下载:http://www.cnblogs.com/humble/p/3312018.html

四、Moon.Orm的技术文档

如果您喜欢它,请推荐支持一下吧:)

待续

Orm 常见查询实例的更多相关文章

  1. Moon.Orm 常见查询实例

    一.Moon.Orm框架总述 (您还用hibernate?实体框架?) 1.框架名:Moon 意思是月亮,而非Mono.因为很喜欢明月,所以以此为名.它是一个.NET下的Orm框架. 2.发展历史:历 ...

  2. Django orm进阶查询(聚合、分组、F查询、Q查询)、常见字段、查询优化及事务操作

    Django orm进阶查询(聚合.分组.F查询.Q查询).常见字段.查询优化及事务操作 聚合查询 记住用到关键字aggregate然后还有几个常用的聚合函数就好了 from django.db.mo ...

  3. SqlSugar-执行Sql语句查询实例

    使用SqlSugar执行sql语句 1.简单查询 SqlSugarClient db = SugarContext.GetInstance(); //执行sql语句,处理 //1.执行sql,转成li ...

  4. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)

    梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...

  5. Django的ORM常用查询操作总结(Django编程-3)

    Django的ORM常用查询操作总结(Django编程-3) 示例:一个Student model: class Student(models.Model): name=models.CharFiel ...

  6. php中的curl使用入门教程和常见用法实例

    摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...

  7. 高性能MySql进化论(十一):常见查询语句的优化

    总结一下常见查询语句的优化方式 1        COUNT 1.       COUNT的作用 ·        COUNT(table.filed)统计的该字段非空值的记录行数 ·         ...

  8. 【MySQL】分页查询实例讲解

    MySQL分页查询实例讲解 1. 前言 本文描述了团队在工作中遇到的一个MySQL分页查询问题,顺带讲解相关知识点,为后来者鉴.本文的重点不是"怎样"优化表结构和SQL语句,而是探 ...

  9. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)

    使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...

随机推荐

  1. U9 DLL读取配制文件

    在网上大多数的例子都是如何访问程序运行的目录下的配制文件,但是U9BP里要将DLL放到生产环境,我并不知道生产环境运行的目录,所以只能DLL读取当前目录XML. 过下面几个方法都可以拿到程序所在的文件 ...

  2. 将Python源程序打包成可独立执行的文件

    有时候需要将编写好的脚本发送给别人,但是在没有安装运行环境或依赖库的情况下,Python脚本程序无法执行.PyInstaller工具可以快速的将python脚本打包成一个二进制可执行的exe程序,并且 ...

  3. Lambda表达式---Day27

    函数式编程思想概述 在数学中,函数就是有输入量.输出量的一套计算方案,也就是“拿什么东西做什么事情”.相对而言,面向对象过 分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语 ...

  4. webpack详细介绍以及配置文件属性!

    1.webpack简单介绍 (1)webpack是一个用于实现前端模块化开发工具,可帮助我们自动打包编译成浏览器能够识别的代码 :同时支持commonjs规范 以及es6的import规范: 同时具备 ...

  5. i春秋——“百度杯”CTF比赛 十月场——Login

    根据页面源码提示的 test1 test1 登录 刷新此页面并抓包,有个show=0值得关注 在发送的包的header中加一句show:1,即可得到member.php的源码 <?php inc ...

  6. Centos 7 解决free -m 下buff/cache缓存很高

    Linux服务器运行一段时间后,由于其内存管理机制,会将暂时不用的内存转为buff/cache,这样在程序使用到这一部分数据时,能够很快的取出,从而提高系统的运行效率,所以这也正是linux内存管理中 ...

  7. JfreeChart 乱码问题处理

    在前面之间加上下面这段代码即可. //创建主题样式 StandardChartTheme standardChartTheme=new StandardChartTheme("CN" ...

  8. Fiddler抓包设置

    介绍 Fiddler 在 PC 端和移动端,模拟器抓取数据包 Fiddler抓取PC端数据包: 这里 Fiddler 抓取网页客户端的数据包时,其原理就是在 客户端/浏览器 和 服务器端 之间,加上了 ...

  9. MobiSystems OfficeSuite 3.60.27307

    官网:https://www.mobisystems.com/ 或 https://www.officesuitenow.com/cn/ MobiSystems OfficeSuite 3.60.27 ...

  10. 让Discuz! X3.2 SEO标题里的“-”支持空格

    打开Discuz!根目录下source\class\helper\helper_seo.php文件找到如下代码: public static function strreplace_strip_spl ...