Database2Sharp之混合型Winform框架代码生成

本人一直致力于Winform开发框架的研究和使用,有时候项目要求是传统Winform的,直接访问数据库进行获取数据;有的时候项目要求WCF框架,以分布式访问WCF服务获取数据的,虽然在Winform和WCF框架,都有特定的应用场景和开发思路,但是希望把这两种传统式的框架,加以抽象和提炼,形成目前所介绍的混合型框架,这样所有完成混合型框架改造的通用模块(或一个小业务模块),都能无缝式的实现集成使用。这种混合型框架的特点和优点都非常明显,为我最终实现,一个框架,多个应用的开发平台集成方案迈出坚实的一步。

1、混合型框架的应用前景

当然,本篇文章不是对理论的抽象说明,这一向不是我的风格,前面我已经在随笔《Winform开发框架之框架演化》、《Winform开发框架之混合型框架的实现》、《Winform开发框架之混合型框架的剖析》都对Winform框架的变种,混合型框架进行了比较详细的介绍,我希望通过实实在在的项目展示,介绍这种框架的优点特点,以及相关的设计理念。这种框架虽然比较通用,但相对于传统Winform框架和传统WCF开发框架,都增加了不少项目模块,也同时增加了一定的复杂度,如果纯手工来建立这种项目,会有比较麻烦的痛苦经历。

因此,本篇文件就是介绍了如何使用代码生成工具Database2Sharp来生成一个混合型框架的项目,由于我的Database2Sharp能够获取所有数据库的元数据,因此能够较好实现各种项目架构的生成操作,这种结合代码工具生成项目的方式,也是我们提高效率,统一代码风格,减少代码出错,提高代码健壮性,分享框架经验的最佳方式。

混合型框架可以看成是Winform框架高级版本,可以很好用来实现一个框架,多个应用的开发平台,我们可以在主体业务框架上,根据需要扩展很多应用,如通用模块有通用权限、通用字典、通用附件管理、通用人员管理。。。。,如果基于业务集成,那么可以把很多小业务也通过这种方式开发,然后通过即插即用的方式实现业务定制化的使用,这些应用都实现了这种混合型的框架,因此集成使用会非常方便。

 

2、代码生成工具生成混合型框架

混合型框架一般包括业务逻辑模块(包括BLL、IDAL、DAL、Entity层),服务接口调用模块(用来整合Winform和WCF接口调用),WCF服务逻辑模块、WCF服务发布模块,Winform界面模块共5个项目的分层,如下所示。

虽然是需要生成有5个项目的代码,而且每个项目之间还有一些特殊的引用以及各种命名规则,但是这些对于代码生成工具来说,都是很容易做到的事情。

代码生成工具,是结合数据库信息进行代码生成的过程,因此需要先获取对应数据库信息。

第一步,在Database2Sharp左边的树形数据库列表中,单击展开对应数据库的详细表,由于Database2Sharp是一次性加载方式,加载数据库表的信息同时,也会加载相关的视图、存储过程(Oracle、SqlServer)、以及表字段和表之间的关系等等信息。单击其中一个表,我们可以看到对应该表的字段信息,以及创建表的SQL语句,也就是我们常说的DDL脚本。 

 第二步,在数据库节点上,单击鼠标右键,选择【代码生成】- 【EnterpriseLibrary代码生成】菜单,开始生成代码如下所示。

第三步,选择相应的数据库以及数据库表,用于代码的生成。

第四步,设置相关的代码生成配置信息,包括项目主命名空间,输出目录,以及过滤表名前缀等。

第五步,确认代码生成操作,一般确认,就会对选定的表进行项目代码的生成操作,生成一体化的整体性解决方案。

如果项目是要生成基于WCF开发框架的,那么勾选“同时生成WCF服务项目”选项即可,勾选后,可以修改WCF服务的项目名称,方便创建不同的WCF业务项目。WCF项目是基于VS2010开发环境、.NET4.0框架的项目。

如果项目是生成基于混合型开发框架的,那么勾选“生成混合式框架项目”选项即可,勾选后,“同时生成WCF服务项目”也会默认勾选,因为混合型框架式基于Winform和WCF两种的混合体项目。WCF项目是基于VS2010开发环境、.NET4.0框架的项目,这是目前最优的配置信息了。

如果勾选生成后打开解决方案,那么代码生成完成后,就会自动打开项目工程,你可以尝试编译,一般情况下,可以完全编译通过的。

项目生成后,就生成了几个典型的项目分层结构,如图所示。

贴上几个详细的项目文件结构图,以便更好了解整体的项目结构。

 

代码生成工具的下载地址:http://www.iqidi.com/Database2Sharp.htm

详细的代码生成工具Database2Sharp的介绍文档:Database2Sharp代码生成工具-使用帮助.pdf

本文转自博客园伍华聪的博客,原文链接:Database2Sharp之混合型Winform框架代码生成,如需转载请自行联系原博主。

时间: 2024-09-20 08:08:12

Database2Sharp之混合型Winform框架代码生成的相关文章

Database2Sharp重要更新之生成Winform框架界面代码

Database2Sharp是一款代码生成工具和数据库文档生成工具,该工具一直伴随着我及我的粉丝们经历过各种各样的项目开发,在实际开发中能带来效率的提高及编程的快乐.不过自上个6.0版本以来,我一直忙于各种项目及研究中,很少继续把新的思想整合进去,最近在做我的Winform开发框架的整理工作,觉得应该改进这段时间来发现的问题,并融入已经逐渐完善的Winform开发框架基础上来,于是经过几天的努力,把该代码生成工具的一些缺陷修复并增加了Winform界面代码生成的功能(以前一直只是生成底层及Web

代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能

在代码生成工具的各种功能规划中,我们一向以客户的需求作为驱动,因此也会根据需要增加一些特殊的功能或者处理.在实际的开发中,虽然我们一般以具体的表进行具体业务开发,但是有些客户提出有时候视图开发也是很常见的,为了提高代码生成和界面生成的效率,基于视图开发的过程也应该支持.还有主从表的界面生成操作,在很多实际的业务领域也是很常见的.基于上面的需求,本次代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能,为客户的高效率开发快马加鞭.保驾护航. 1.基于视图的代码生成和界

Winform框架之字典数据管理

好久没写博客了,除了是工作较忙的原因外,其实是也一直在想如何整合我所有的开发经验及技术积累,开发过很多Winform共享软件.ASP.NET的WebForm项目,发现很多东西是相互关联很紧密的,但往往我们太忙太懒,要好好整理,并整理出棒棒的一般比较难,但我们没有停步,梦想总会慢慢接近并实现.在做了很多项目之后,发现人的惰性或者惯性很大,因此有机会得好好整理下开发的成功,优化再优化,用的时候就越来越顺手了. 在所有开发过的项目过程,很多如权限管理.字典数据管理模块,都是非常常用的模块,本文主要想介

在Winform框架界面中改变并存储界面皮肤样式

在本篇介绍的Winform界面样式改变及存储操作中,是指基于DevExpress进行界面样式的变化.一般情况下,默认我们会为客户提供多种DevExpress的界面皮肤以供个人喜好选择,默认DevExpress提供40余种皮肤样式,用户可以根据自己的喜好,选择较为美观.得体的皮肤,为了方便,我们对用户的皮肤选择进行记录,并可以动态改变. 1.界面皮肤的选择 Winform开发框架(包括混合式Winform开发框架)皮肤如下界面所示. 在皮肤集合中打开,可以看到很多界面皮肤可供选择 上面初始化的皮肤

Navi.Soft31.WinForm框架(含下载地址)

1概述 1.1应用场景 尽管互联网高速发展,互联网软件也随之越来越多,但桌面应用程序在某些领域中还是不可替代,如MIS,ERP,CRM等软件产品,同时,这类软件均包括一些通用的功能,如:与数据库操作,日志管理,权限管理等 本框架指在解决这些问题,并将通用的功能抽离并实现.使在开发过程中,将更多的精力放在业务逻辑 1.2面向对象 Net程序开发员 1.3开发环境 开发环境 描述 VS2012或以上 整个框架只有此一个解决方案.Net类库版本是4.0 EntityFramework 版本6.0 My

Navi.Soft31.微信WinForm框架(含下载地址)

1.概述 1.1应用场景 微信的出现,改变了我们日常生活.而微信公众平台的出现,使我们每个人都可能成为一个品牌,微商的普及.微店越来越多.越来越多的人,借助微信公众平台,实现了自己的梦想 在此背景环境下,开发出基于微信公众平台的一套框架,方便开发员二次开发,也可以直接使用. 1.2面向对象 Net程序开发员 1.3开发环境 开发环境 描述 VS2012或以上 整个框架只有此一个解决方案.Net类库版本是4.0 EntityFramework 版本6.0 MySql数据库 版本是5.6 SQLit

一个winform框架需要考虑那些问题?没分了

问题描述 由于个人想开发一套C/S结构的框架程序,请教高手们我需要考虑那些问题?有什么思路和好的想法没,或则是你们以前设计没考虑到的,我好借鉴一下,不知道大家可否赐教 解决方案 解决方案二:开发框架需要考虑很全面的东西比如地层界面消息响应等等.楼主我挺你.解决方案三:部署.方便升级权限.支持不同的角色的用户加载不同的功能安全.登录的安全性检查扩展性.容易扩展,如支持插件功能等松耦合.框架要与关联的具体功能耦合度降低,在代码级别上应可以分离部署.一下子就能想到这么多.解决方案四:恩,虚心学习

Winform开发框架之混合型框架的实现

我在之前一篇文章<Winform开发框架之框架演化>中,介绍了传统Winform开发框架.传统WCF开发框架.离线式WCF开发框架.混合式WCF开发框架,其中前面两种就是大家比较熟悉的框架了,后面的离线式WCF开发框架,我在<Winform开发之离线式WCF开发框架的实现介绍>一文中也做了阐述,离线式的WCF开发框架,可以看做为传统Winform开发框架+WCF同步模块而成,本文继续探讨这方面的框架设计和实现,重点介绍混合式WCF开发框架的设计思路及具体实现. Winform开发框

Database2Sharp代码生成工具使用心得

Database2Sharp是一款主要用于C#代码以及数据库文档生成的工具,软件支持Oracle.SqlServer.MySql.Access.Sqlite等数据库的代码生成,可以生成各种架构代码.生成Winform界面代码.Web界面代码.导出数据库文档.浏览数据库架构.查询数据.生成Sql脚本等,还整合自定义模板和数据库信息的引擎,方便编写自定义模板调试和开发. 1.EnterpriseLibrary架构代码生成 1.1 代码生成总体概述 EnterpriseLibrary代码生成时一个整体