2.6生成ORM

生成ORM

C/S结构快速开发框架/软件快速开发平台   CodeGeneratorV5.1 代码生成器  原创软件@csframework.com

 

生成ORM 

1.1 什么是ORM 

ORM-对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R Mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。ORM相当于中继数据,具体到产品上,例如ADO.NET Entity Framework。DLINQ中实体类的属性(Table)就算是一种中继数据。

1.2 生成ORM类的源码

点击 功能菜单。

选择数据库。

点【取用户表和视图】按钮。

      主表

用于区别当前选择的表是主表还是明细表,业务单据的主表或数据字典均可勾选为主表。注意:业务单据的明细表不能勾选!

并发控制

勾选此选项,指当前ORM模型具有并发控制功能,在Model类生成并发操作特性:

[ORM_ConcurrentAttribute("TS")],TS为字段名,当前表必须存在TS字段。

参考:tb_Customer模型生成的并发控制特性类(ORM_ConcurrentAttribute):

ORM_TableAttribute,表的特性,定义表名和主键。

ORM_ConcurrentAttribute,支持并发操作的特性类,TS为字段名。

      类名

生成的ORM类名,如:,可以修改,系统自动添加前缀tb_。

 点【取表结构】按钮,系统自动获取表结构信息。

主键:当前数据表的主键。

 注释: 类的注释。

命名空间:当前ORM所在的命名空间。

1.3 表格栏位说明

栏位标题

说明

ORM_FieldAttribute属性

列名

对应字段名。

-

类型

数据类型,对应 C# SqlDbType枚举数据类型。

Type

长度

数据长度定义。

Size

查询/只读列

参考字段不支持数据更新,不生成SQL相关脚本。

IsLookup

新增/修改列

是否新增修改列,系统仅生成勾选此字段的SQL脚本。

IsAddOrUpdate

主键列

资料表主键,每张表必须定义一个主键或数据更新主键。

IsPrimaryKey

外键列

明细表必须勾选,主表不能勾选。

明细表必须定义一个外键列。

IsForeignKey

流水号

单据号码(如:XX0001),若此字段为自动生成流水号,必须勾选。

IsDocFieldName

1.4 ORM生成的类型

【输出目录】将生成的源码文件保存到此目录,文件名为类名,如:tb_dt_Doc.cs。

 

【生成表结构静态类】,将表结构转换为静态类,每个字段对应一个变量,无属性和方法。

 

此类型的ORM, 在数据层的CreateSqlGenerator方法必须创建对应

 

 

 

 

GenerateSqlCmdByTableFields对象。

【生成实体类(对象)】,将表结构转换为实体类,字段名称对应属性名称,可实例化为具

 

体对象。此类型的ORM, 在数据层的CreateSqlGenerator方法必须创建对应

 

GenerateSqlCmdByObjectClass对象。

 

【生成标准实体类】,将表结构转换为标准实体类,字段名称对应属性名称,可实例化为

 

 

 

 

具体对象。标准实体类不包含字段名称常量定义。

1.5 ORM特性类说明

ORM_TableAttribute特性定义

 

定义表的特性,定义表名和主键。

 

ORM_FieldAttribute 特性定义

 

 

 

 

构造器参数对应在表格中勾选的设置,值为:True/False。

注:后台数据更新根据每个字段的ORM_FieldAttribute特性自动生成SQL脚本。

 

ORM_ConcurrentAttribute 特性定义

 

 

 

 

支持并发操作的特性,TS为字段名,字段类型:时间戳(timestamp)。

1.6 命令生成器 IGenerateSqlCommand

ORM及后台数据更新是开发框架核心功能之一,为了扩展其它类型的ORM,开发框架设计了IGenerateSqlCommand 接口,并实现了两个类,可以跟据不同的ORM模型自动生动SQLCommand,以下两个派生类:

       GenerateSqlCmdByTableFields :由表结构静态类自动生成SqlCommand。

 GenerateSqlCmdByObjectClass:由实体类自动生成SqlCommand。

IGenerateSqlCommand接口提供扩展性,支持您自己开发ORM模型,如XML Mapping (类似Nhibernate架构中的XML定义) 。

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
下一篇:2.7生成BLL
发表评论

评论内容
昵称:
关联文章

2.6生成ORM
ClassGenerator V2.01 生成ORM源码
2.8生成DAL
2.7生成BLL
CSFramework代码生成器生成三种ORM模型类(静态类ORM,实体类ORM,标准对象)
代码生成器生成ORM报错:不能在 colLength 列中存储 <18,2>。所需类型是 Int32。
CS系统快速开发框架 - 生成主从表的ORM
ClassGenerator(ORM生成器)下载
ORM模型(ORM Model)
C/S框架后台数据更新模型之ORM自动生成SQL基本原理
表单上实现增删改查,除了生成的BLL,DAL和ORM表,还需要处理什么?
2.9生成字典窗体 (单表数据管理界面)
2.10生成业务窗体 (主从表数据管理界面)
ClassGenerator V2.01 生成的DAL源码
V2.2, V3.0 版本tb_SO的ORM定义有误
软件开发与设计 - CMS内容管理系统-动易SiteFactory CMS 6.2.0
软件开发与设计 - MIS-管理信息系统-AnyPIM个人信息管理系统 6.2
ORM_FieldAttribute类详解:字段特性定义,框架内核根据此特性自动生成SQL脚本
2.11生成业务模块 (DLL类库)
软件开发与设计 - EMS-电子商城系统-[电子商务]晴软订餐系统 v2.6.0数据库