专栏首页魏琼东一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM的基本操作

一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM的基本操作

系统回顾

          前面的四篇文章我详细的介绍了AgileEAS.NET平台中统一数据访问(UDA)组件的用法,分析了两种数据处理流程的优缺点,以及基于懒惰模式的委托执行,事务处理方法,基本涵盖了基于数据库支持的业务系统的技术点。

          从本文开始,我将带大家进入AgileEAS.NET平台的ORM组件应用案例之中,应用ORM实现与前面案例相同的功能,有关于AgileEAS.NET平台ORM组件的介绍请参考:AgileEAS.NET之数据关系映射ORMAgileEAS.NET之ORM访问器

开发流程

          一、AgileEAS. NET平台ORM应用开发的第一步是数据对象的设计,就是规划所涉及的ORM对象的定义,涉及的数据库,是否使用基于接口驱动的数据层等一系列的策略,在AgileEAS.NET平台中提供了数据对象设计器,本步骤的实质工作是使用对象设计器进行数据实体的定义:

          二、生成代码,本步骤是使用对象设计器生成当前设计好的模型的数据层代码,生成或者根据现在的对象模型定义文件生成相信的数据层代码:

          三、处理ORM访问器,AgileEAS.NET平台中的ORM是实现与操作相分离的,在程序中要使用ORM实体操纵数据库,就必须的配置好ORM访问器,使用ORM访问器.操作(实体)或者实体.ORM访问器/实体.操作()实现ORM操作。

          四、ORM操作,在配置好ORM访问器之后,就可以使用ORM访问器.操作(实体)或者实体.ORM访问器+实体.操作()的方法来完成ORM及数据库的操纵。

本文案例

          本文的Demo代码数据库结构基于一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-涉及的数据定义一文中的定义,在本案例中也就省去了设计实体对象模型的步骤,我们直接使用前文提供的demo.sdm文件生成代码,并且确定不生成数据接口层代码:

          本案例完成的业务功能是实现读取商品字典的所有数据,并且实例演示增加、读取、修、删除一个新的商品字典记录,项目结构如下:

          演示解决方案中ClassLibDemo.DAL.SQLServer是生成器生成的项目,ClassLib.OrmDemo是一个控件台项目,流程控制代码如下:

static void Main(string[] args)
    {
        System.Console.WriteLine("AgileEAS.NET平台ORM组件使用例子,按任意键开始...");
        System.Console.Read();
        System.Console.WriteLine("读取全表数据的例子:");
        new TableDemo().DemoQuery();

        System.Console.WriteLine("按任意键继续...");
        System.Console.Read();
        System.Console.WriteLine("演示数据查询(Query)的例子:");
        new DataObjectDemo().DemoQuery();

        System.Console.WriteLine("按任意键继续...");
        System.Console.Read();
        System.Console.WriteLine("演示数据插入(Insert)的例子:");
        new DataObjectDemo().DemoInsert();
        new DataObjectDemo().DemoQuery();

        System.Console.WriteLine("按任意键继续...");
        System.Console.Read();
        System.Console.WriteLine("演示数据修改(Update)的例子:");
        new DataObjectDemo().DemoUpdate();
        new DataObjectDemo().DemoQuery();

        System.Console.WriteLine("按任意键继续...");
        System.Console.Read();
        System.Console.WriteLine("演示数据删除(Delete)的例子:");
        new DataObjectDemo().DemoDelete();
        new DataObjectDemo().DemoQuery();

        System.Console.WriteLine("按任意键结束。");
        System.Console.Read();
    }

               程序的运行结果如下:

          有关本例子所涉及的数据表结构请参考基于AgileEAS.NET平台基础类库进行应用开发-总体说明及数据定义一文,有关数据对象模型定义文件、文档、DDL脚本请下载:http://files.cnblogs.com/eastjade/demo.db.doc.sql.rar,本文代码下载:ORM.Demo1.rar

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • AgileEAS.NET SOA 中间件Web运行容器管理功能已全部开源,欢迎大家下载、使用、反馈

    一、前言      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速...

    魏琼东
  • AgileEAS.NET平台开发实例-药店系统-快速的SAAS开发体验

    一、AgileEAS.NET应用开发简介 在4月份,callhot写过一系列的有关于AgileEAS.NET平台的开发应用的系列AgileEAS.NET平台开发...

    魏琼东
  • 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 开发流程

    过程介绍          AgileEAS.NET平台基于敏捷并行开发的一种实践,采用优秀先进的Microsoft .Net构件技术的插件式开发,AgileE...

    魏琼东
  • .NET Core多平台开发体验[2]: Mac OS X

    除了微软自家的Windows平台, .NET Core针对Mac OS以及各种Linux(RHEL、Ubuntu、Debian、Fedora、CentOS和SU...

    蒋金楠
  • Python导入运行的当前模块报错

    众所周知,Python模块导入的查找路径可以通过sys.path查看,我看了一下:

    烟草的香味
  • 怎样对 RPC 进行有效的性能测试

    在 RPC Benchmark Round 1 中 turbo 的成绩一骑绝尘,实力碾压众 rpc 框架。对此,很多人表示不服气,认为作者既是运动员又是裁判员有...

    小老鼠
  • 生信主管应该了解的十个Linux知识点

    linux的发行版非常多,其实本质上差别不大,哪怕是mac的OS应该是也是同样的管理操作模式。以下针对于ubuntu适用,当然ubuntu本身也有版本的区别,目...

    生信技能树
  • C#中格式化数据的输出

    alignment:可选,是一个带符号的整数,指示首选的格式化字段宽度。如果“对齐”值小于格式化字符串的长度,“对齐”会被忽略,并且使用格式化字符串的长度作为字...

    跟着阿笨一起玩NET
  • 基于动态时空图卷积神经网络的交通流预测

    《Dynamic Spatial-Temporal Graph Convolutional Neural Networks for Traffic Foreca...

    深度学习与交通大数据
  • phpmyadmin 4.8.0~4.8.3 Transformation 任意文件包含漏洞分析及复现

    老感觉phpmyadmin这东西一直在爆洞,前段时间刚好碰到一个有phpmyadmin和数据库密码,4.8.3的版本,潜意识的以为这种大家看烂了最新版应该很安全...

    Deen_

扫码关注云+社区

领取腾讯云代金券