设为首页 收藏本站
查看: 1019|回复: 0

[经验分享] Moon.ORM 3.0发布,现在提供下载.

[复制链接]

尚未签到

发表于 2016-11-22 09:37:53 | 显示全部楼层 |阅读模式
http://files.cnblogs.com/humble/Moon.ORM.7z  /Files/humble/MOON.ORM使用方法.doc
  加入群:  

216965349

高效便捷的ORM架构Moon.net

  1.背景
  针对Qin.Data的架构设计反应出的一些问题进行了全新的架构设计,弥补了多数据源使用不便、同道反应不过ORM、自身架构的瑕疵等问题.
  2.介绍
  Moon .ORM是一个通用数据库处理框架(可以包含MSSQL POSTGRESQL,SQLITE EXCEL MYSQL DB2   ORACLE...只要你愿意实现接口就可以).很便捷地进行常用数据库操作(增删改查).其性能是几近纯ADO.NET.对于实体的查询采用emit实  现,如果您还不满意可用此框架的代码生成器直接生成纯ADO.NET SQL形式.其主要特色就是性能和便捷的操作.
  3.特色
  1.高性能(该框架采用纯的ADO.NET进行框架,避免Linq以及反射带来的性能损失);
  2.易用性强(配置简单,智能感知,代码生成器的辅助,会sql就可(可以自我性能优化)) ;
  3.多数据库支持(如果需要可自我扩增,热烈欢迎同道加入团队开发中(联系qq:564064202))
  4.强大查询语法糖功能
  5.多数据源支持
  6..net framework 2.0原生支持
  4.配置简单
  <appSettings>
  <add key="dbType" value="MSSQL" />
  <!--数据库的类型 还可以写MYSQL,SQLITE,ACCESS等....&#8212;>   
  <add key="linkString" value="Server=mainserver;database=HD01SystemDB;Uid=sa;Pwd=123" />  
</appSettings>
  代码功能演示




using System;
using System.Collections.Generic;
using Moon.Orm;
using  MoonDB;
namespace r
{
    class Program
    {
        public static void Main(string[] args)
        {
            //数据添加
            PersonSet person=new PersonSet();
            person.Age=133;
            person.AgePeriod=1;
            person.IsBeiJing=true;
            person.Sex=true;
            person.UserName="秦仕川";
            DBFactory.Add(person);
            Console.WriteLine("新的数据唯一识别标志:"+person.GetOnlyMark());
            //另类数据添加
            person.Set(PersonSetTable.UserName,"另类");
            person.Set(PersonSetTable.Age,12);
            person.Set(PersonSetTable.AgePeriod,11);
            person.Set(PersonSetTable.IsBeiJing,false);
            person.Set(PersonSetTable.Sex,true);
            DBFactory.Add(person);
            Console.WriteLine("新的数据11唯一识别标志:"+person.GetOnlyMark());
            //数据删除
            long ret= DBFactory.DeleteWhen(PersonSetTable.IsBeiJing.Equal(1).And(PersonSetTable.Age.BiggerThan(12)));
            Console.WriteLine("被删除的条数:"+ret);
            //改数据
            
            person.UserName="另类修改后";
            person.SetOnlyMark(PersonSetTable.UserName.Equal("另类"));
            DBFactory.Update(person);
            //查询
            PersonSet p=DBFactory.GetEntity<PersonSet>(
                PersonSetTable.UserName.Equal("另类修改后"));
            Console.WriteLine(p.Age);
            //查询一个字段
            int age=DBFactory.GetOneField<int>(PersonSetTable.Age, PersonSetTable.ID.Equal(5));
            Console.WriteLine(age);
             Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}
DSC0000.png


复制代码
  实体代码生成器



  数据库升级问题(我们常常面临数据库表的变动问题)
  Moon.ORM中不必担心这些东西,因为实体全由代码生成器生成,更新一次数据库,你重新生成一次DLL(代码生成器带有编译功能)
  ----------------------------------例子2--------------------


/*
* 由SharpDevelop创建。
* 用户: qinshichuan
* 日期: 2011-12-18
* 时间: 16:47
*
* 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
*/
using System;
using System.Collections.Generic;
using System.Data;
using Moon.Orm;
using MoonDB;
namespace r
{
    class Program
    {
        public static void Main(string[] args)
        {
           //------------------------
            Console.WriteLine("1 排序操作--------");
            List<UserSet> list=DBFactory.GetEntities<UserSet>(
                UserSetTable.ID.BiggerThan(0).OrderBy(UserSetTable.UserName,true));
             foreach (UserSet element in list) {
                Console.WriteLine(element.UserName+"  "+element.ID);
             }
            //-----------------------------------
            Console.WriteLine("2 添加操作------");
            UserSet user=new UserSet();
            user.date=DateTime.Now;
            user.datetime=DateTime.Now;
            user.money=123M;
            user.UserName="秦时明月";
            object newID=DBFactory.Add(user);
            Console.WriteLine("新增数据的主键为:"+newID);
            //-----------------------------
            
            Console.WriteLine("3 修改操作------");
            UserSet updateUser=new UserSet();
            updateUser.UserName="秦时明月-updateUser";
            //设置更新目标
            updateUser.SetOnlyMark(user.GetOnlyMark());
            DBFactory.Update(updateUser);
            Console.WriteLine("被修改的对象:"+updateUser.GetOnlyMark());
            Console.WriteLine("修改后的对象值为:");
            string name=DBFactory.GetOneField<string>(UserSetTable.UserName ,updateUser.GetOnlyMark());
            Console.WriteLine(name);
            Console.Read();
        }
    }
}
  =====================使用步骤=============
  1创建数据库,注意表必须要有主键,建议为自增int64
  2设置代码生成器的配置文件


<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <connectionStrings>
    </connectionStrings>
    <appSettings>
        <add key="dbType" value="PostgreSql" />//数据库类型
        <add key="linkString" value="Server=localhost;Database=MoonDB;User ID=postgres;Password=mingyue;" />//连接字符串
    </appSettings>
</configuration>  生成代码.
  3创建项目,引入Moon.ORM


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-303838-1-1.html 上篇帖子: 多维数据查询效率分析(3) 下篇帖子: SqlServer修改表结构总结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表