代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
在代码生成工具的各种功能规划中,我们一向以客户的需求作为驱动,因此也会根据需要增加一些特殊的功能或者处理。在实际的开发中,虽然我们一般以具体的表进行具体业务开发,但是有些客户提出有时候视图开发也是很常见的,为了提高代码生成和界面生成的效率,基于视图开发的过程也应该支持。还有主从表的界面生成操作,在很多实际的业务领域也是很常见的。基于上面的需求,本次代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能,为客户的高效率开发快马加鞭、保驾护航。
1、基于视图的代码生成和界面生成操作
为了支持视图的相关代码生成,我们把代码生成工具底层的元数据进行了优化整合,是指在代码生成方面,具体的表和视图不再有具体的差异,基本上都是可以统一对待,实现快速的框架代码生成、Winform界面生成、Web界面生成操作的,所有的表的相关属性,视图也具有,因此在代码模板方便,不需要进行调整,兼容了代码模板的属性处理,提高了已有代码模板的安全性。
如上所示,为了区分表和视图的位置,我们把视图统一放在了表的后面,方便选择处理,在选择的时候,表和视图都是一视同仁,所以代码生成的处理适用于表的,也是适用于视图的,可以统一一并生成,极大的提高了代码生成的效率。
当然,视图的增删改操作,和表毕竟不一样,一般视图只是为了查询数据进行展示的,所以在实际开发的时候,可以适当屏蔽视图的增删改操作,或者自定义相关的接口进行处理。
在Winform界面的生成的时候,我们也一样整合了视图的列表,可以基于视图进行界面代码的生成。
不过我们注意到,一般表我们使用备注信息作为Winform界面的字段说明信息的,如果是视图,那么是无法获取到它的视图字段备注信息的,因为视图的字段备注是不存在的,为了实现和表一样具有中文备注的界面,我们增加了一个对视图字段进行备注信息维护的界面,有着字段的备注,我们生成Winform界面的时候,对应字段的标签就有中文信息了。
通过Enterprise Library架构生成的相关代码,也同时具有相关的备注信息,如下代码所示。
通过代码生成工具里面的Winform界面代码生成,当然也会具有相关的备注信息,可以在界面上显示对应的中文标签信息了。
视图的Winform界面代码生成和普通的表生成的Winform界面操作过程一样,具体界面操作如下所示。
这样生成的Winform界面操作和普通表的处理方式一致,而且对应的视图字段也有了备注信息,因此在界面上的标签说明也就和表一样,可以显示备注信息了。
2、主从表的界面生成操作
在有些情况下,有些业务表是具有主从关系的,如一个是汇总信息,一个是明细信息,如仓库的入库、出库操作,会员的消费操作,都是典型的主从表应用场景,可以把它们作为一个界面生成的案例进行处理。
标准的主从表界面如下界面所示。
或者会员消费信息的横向界面展示如下所示。
在我之前的代码生成界面里面,主要是生成标准的分页列表展示,以及编辑明细两个标准界面,为了更加丰富开发工具的界面生成,根据上面两种界面的综合情况,增加一个主从表的界面生成操作,这样可以更加适应实际的业务开发工作,高效进行界面的快速生成。
如在代码生成工具里面,设置主从表的界面生成如下所示。
生成Winform界面代码后,在VS编辑器里面,可以看到如下所示界面。
最后在实际程序上运行生成的界面,就可以看到预览的界面效果了,界面效果如下所示。
为了方便,上面界面增加了一个复选框,用来切换横向或者纵向展示明细列表的,勾选后进行横向显示,如下所示。
上面主从表的展示,还包括了明细表信息的汇总功能,这样基本上满足了主从表的信息展示了,如果需要,还可以在这基础上进行更方便的改进了。
代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能的更多相关文章
- 在代码生成工具Database2Sharp中增加Vue&Element 工作流页面的快速生成
在我们基于框架开发系统的时候,往往对一些应用场景的页面对进行了归纳总结,因此对大多数情况下的页面呈现逻辑都做了清晰的分析,因此在我们基于框架的基础上,增量式开发业务功能的时候,能够事半功倍.代码生成工 ...
- 基于Metronic的Bootstrap开发框架经验总结(18)-- 在代码生成工具Database2Sharp中集成对Bootstrap-table插件的分页及排序支持
在我们开发系统界面,包括Web和Winform的都一样,主要的界面就是列表展示主界面,编辑查看界面,以及一些辅助性的如导入界面,选择界面等,其中列表展示主界面是综合性的数据展示界面,一般往往需要对记录 ...
- 在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动
由于我们开发的辅助工具Database2Sharp需要支持多种数据库,虽然我们一般使用SQLServer来开发应用较多,但是Oracle等其他数据库也是常用的数据库之一,因此也是支持使用Oracle等 ...
- 基于SqlSugar的开发框架循序渐进介绍(3)-- 实现代码生成工具Database2Sharp的整合开发
我喜欢在一个项目开发模式成熟的时候,使用代码生成工具Database2Sharp来配套相关的代码生成,对于我介绍的基于SqlSugar的开发框架,从整体架构确定下来后,我就着手为它们量身定做相关的代码 ...
- C#反射实现 C# 反射 判断类的延伸类型 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码 C# ADO.NET的SqlDataReader对象,判断是否包含指定字段 页面中添加锚点的几种方式 .net 简单实用Log4net(多个日志配置文件) C# 常用小点
C#反射实现 一.反射概念: 1.概念: 反射,通俗的讲就是我们在只知道一个对象的内部而不了解内部结构的情况下,通过反射这个技术可以使我们明确这个对象的内部实现. 在.NET中,反射是重要的机制, ...
- 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码
在前面随笔<基于Metronic的Bootstrap开发框架--工作流模块功能介绍>和<基于Metronic的Bootstrap开发框架--工作流模块功能介绍(2)>中介绍了B ...
- 利用代码生成工具Database2Sharp设计数据编辑界面
在Winform程序开发中,界面部分的开发工作量一般是比较大的,特别是表的字段数据比较多的情况下,数据编辑界面所需要的繁琐设计和后台逻辑处理工作量更是直线上升,而且稍不注意,可能很多处理有重复或者错误 ...
- 代码生成工具Database2Sharp的架构介绍
1)代码生成工具介绍 Database2Sharp是一款代码生成工具和数据库文档生成工具,该工具从2005年开始至今,一直伴随着我们的客户和粉丝们经历着过各种各样的项目开发,在实际开发中能带来效率的提 ...
- 利用代码生成工具Database2Sharp生成ABP VNext框架项目代码
我们在做某件事情的时候,一般需要详细了解它的特点,以及内在的逻辑关系,一旦我们详细了解了整个事物后,就可以通过一些辅助手段来提高我们的做事情的效率了.本篇随笔介绍ABP VNext框架各分层项目的规则 ...
随机推荐
- [.net 面向对象编程基础] (21) 委托
[.net 面向对象编程基础] (20) 委托 上节在讲到LINQ的匿名方法中说到了委托,不过比较简单,没了解清楚没关系,这节中会详细说明委托. 1. 什么是委托? 学习委托,我想说,学会了就感觉简 ...
- Oracle 权限(grant、revoke)
200 ? "200px" : this.width)!important;} --> 数据库版本:11GR2 一.介绍 在oracle中没有其他数据库系统中的数据库的概念, ...
- 关于js内部运行机制的一本好书
读<单页Web应用一书>,第二章讲了js内部运行机制,感觉棒极了.之前读<你不知道的js>,看的云里雾里,似懂非懂.没想到单页Web一书将此内容讲的如此通俗易懂,好多困惑已久的 ...
- 为什么PCB上的单端阻抗控制50欧姆
很多刚接触阻抗的人都会有这个疑问,为什么常见的板内单端走线都是默认要求按照50欧姆来管控而不是40欧姆或者60欧姆?这是一个看似简单但又不 好回答的问题.在写这篇文章前我们也查找了很多资料,其中最有知 ...
- Java 9终于要包含Jigsaw项目了
当Jigsaw在Java 9中最终发布时,这个项目的历史已经超过八年了. 转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0228/180.html? ...
- 我心中的核心组件(可插拔的AOP)~调度组件quartz.net续~任务管理器的开发
回到目录 对于任务调度来说,越来越多的团队选择了quartz,它在java和.net环境下表现都十分优秀,配置简单,功能强大,时间表达式配置灵活,但在使用时,还是感觉缺点什么,怎么说,你在服务器上安装 ...
- EF架构~DefaultValue让我的UnitOfWork更可读
回到目录 在编程世界里,使用“否定式”不是一件好事,因为它的可读性并不高,但有时,为了让使用者减少代码量,还是使用了双重否定,直到DefaultValue的出现,它改变了这一切,它可以为你的属性设置你 ...
- Atitit apache 和guava的反射工具
Atitit apache 和guava的反射工具 apache1 Spring的反射工具类 ReflectionUtils1 Guava 反射工具2 apache 34 7 ...
- python 数据的拷贝
# -*- config=utf-8 -*- #数据的拷贝 a=[1,2,3,4,5,6,"a","C"]; b=a;# a 与 b 的地址空间相同 a.app ...
- 常用 sql
一. sql 多个字段拼接 mysql: 1. concat函数 如果连接串中存在NULL,则返回结果为NULL: 例如: select concat('1','2','3') ...