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


    系统回顾

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

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

    开发流程

    image

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

    [QJ]%$($V4ZNO)X71ZO_[S9

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

    J2X`0N[2N$WTCA5IR{40~11

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

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

    本文案例

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

    ZY)`2QJCMV4Q@R1O7WEP`ZJ

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

    TE69$5{V8NN4YS6_F6`QH}2

              演示解决方案中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();
        }
                   程序的运行结果如下:

    image

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

    链接

    一步一步教你使用AgileEAS.NET基础类库进行应用开发-系列目录

    AgileEAS.NET平台开发指南-系列目录

    AgileEAS.NET应用开发平台介绍-文章索引

    AgileEAS.NET平台应用开发教程-案例计划

    AgileEAS.NET官方网站

    敏捷软件工程实验室

    QQ群:116773358

  • 相关阅读:
    迅为-IMX6Q开发板Android应用测试-AndroidStudio-录音机测试
    迅为3399开发板Linux固件编译
    迅为-i.MX6ULL开发板-Busybox移植DHCP(三)
    迅为-i.MX6ULL开发板-Busybox移植DHCP(二)
    itop4412开发板Qt串口编程-实现串口功能
    迅为iMX6D/Q/PLUS设备树 Android7.1.2 系统编译
    迅为3399开发板使用ADB命令传递文件到android设备
    Jlink如何校验Hex
    编码器芯片MLX90363的使用
    编程小技巧
  • 原文地址:https://www.cnblogs.com/eastjade/p/1833793.html
Copyright © 2020-2023  润新知