ActiveWriter----集成到VS.NET的NHibernate(ActiveRecord)对象可视化设计工具

简介:

   或许很多人向我一样,寻找一个可以直接对业务实体进行设计,然后直接根据设计生成持久层的工具,就象Hibernate Tools那样.当然,可能很多人对通过工具生成代码有着不一样的看法,不过有这样的一个工具,无疑能够给我们开发带来便利,尤其是一个开源的工具,能够根据修改来满足我们不同的需求.
     当然,这方面的代码生成工具首推CodeSmith,MyGeneration,它们能够直接支持模板,而且能够很方便的修改自定义模板文件.另外我还接触过LatticeFramework(http://www.latticesoft.com/),这个软件是由一个留学生研发的.把数据库表及索引信息生成Xeml文件(XML格式),然后通过xslt解析成生成的代码.
     但是这些工具唯一不足的地方就是它们不能支持对ORM业务类的可视化设计,其中也不能够很方便很准备的生成实体的映射关系.还有就是这些工具都是基于数据库,而不是业务对象,但是在很多情况下,业务对象和数据库还是有很大差别的.
     而ActiveWriter的特点是支持可视化开发,而且以插件的方式集成到VS.NET中,可设置项全面.下面来介绍一下ActiveWriter:

     ActiveWriter是castle下面的一个开源项目,直接集成在vs.net中,能够直接进行实体可视化设计,支持生成ActiveRecord代码及NHibernate实体代码及.hbm.xml映射文件.并且同时支持C#和VB.NET两种语言. 
一.下载安装
       最新版本: Preview 4.1 (26/06/2008)
       VS 2008: ActiveWriter Preview 4.1 for VS2008.rar (277.22 KB)
       VS 2005: ActiveWriter Preview 4 for VS2005.rar (1.43 MB)(这个开源项目的作者已经停止了此项目对支持2005版本的更新)

       源代码:
https://svn.castleproject.org/svn/castlecontrib/activewriter/

    源代码使用svn工具下载后,需要安装Microsoft Visual Studio 2008 or 2005 SDK才能够编译.其中代码是DSL Tools,看到最近园子里一直有人在研究Vs.net插件开发,这个应该也算是Vs.NET插件开发的一个开源典型项目.
    下载完成后,直接安装,无需做特殊设置

二.使用及功能介绍
      安装完成后,就可以使用ActiveWriter了,不过它并不用新建一个单独的项目,我们只需要新建一个普通的项目即可,然后添加ActiveWrite文件,就可以在这个文件里进行设计了.先介绍一下它的工作区(使用的作者的演示图).
       AW_Overview

    1.主要设计界面
      在这里可以对我们的业务实体进行设计,它们可以是从6中直接拖拉进来生成的,也可以由5中拖Class进来完全重新设计的.右击窗口里的对象或者属性,可以直接进行有效性验证,删除,编辑和添加.
    2.项目文件
      这里就是一个普通的项目,但是会有ActiveWriter文件存储类设计信息(actiw,actiw.diagram),当类设计完成时,我们直接右击actiw文件,选择Run Customer Tool即可生成代码,代码会生成到.cs文件中,如果生成的NHibernate还会单独再有一个.hbm.xml文件.
    3.属性窗口
     这里可以对选择项的属性进行编辑.其中包括生成模型的设置,单个对象的设置,对象属性的设置,关系的设置,编辑完后都会完整的生成到类或者映射文件中,其实简单的说,就是把我们以前手写代码或者是映射文件的操作,转换成了直接在属性设置窗口里完成.这里涵盖了大部分ActiveRecord(NHibernate)的设置.我们来看一下对于对象的设置窗口.
     screenshot31 
     可以看到,可以对Cache,Lazy,Schema,Table,Where等属性都有了设置,而且很多都可以直接下拉选择或者是开窗设置,相当强大.

     4.类详细窗口
      这里列出了当前选择的对象的所有的属性,而且可以直接编辑这个属性的类型,以及和数据库的对应的字段,还可以添加新的属性.
      screenshot31

       5.ActiveWriter工具栏
      这里现在包括Class,一对一关系.多对一关系,多对多关系,内嵌类,内嵌关系,可以直接拖拽他们到工作区1中,对于后面的关系,选中后再在工作区中选择源和目标即可.
       6.资源浏览
      这里列出了当前数据库的资源,可以直接拖拉表到工作区1中,生成对应的对象,现在支持SQL Server,MySQL,Oracle.

     生成代码之前的注意事项:
      1.请对建立的项目中添加对应的NHibernate和ActiveRecord的程序集的引用,另外最新版本对应的NHibernate的版本是1.2.0.4000,ActiveRecord的版本是0.0.1.3,同时添加他们所依赖的程序集的引用.(下面提供了下载)
      2. 右击工作区的空白地方,在属性窗口里对于NHIbernate和ActiveRecord程序集成文件夹进行设置.

     screenshot31 
     自动生成时就会将你在工作区中设置的实体属性,实体及属性的设置,以及实体之间的关系生成出来.

3.由于ActiveWriter对于中文版VS的支持问题,默认"安装新项"的模板到Common7\IDE\ItemTemplates\CSharp\1033下面,但是中文VS模板默认在2052下面,所以需要手动转换一下,也可以先拷贝到2052下面,然后新建项时选类关系图.后缀名从.cd改成actiw就可以了

三 资料及参考
     1.activewriter官网 http://altinoren.com/activewriter/   
     2.activewriter开发者的博客 http://altinoren.com/default.aspx
     3.园子里DSL的文章 http://www.cnblogs.com/yimlin/archive/2006/07/08/445673.html
     4.关于VS.NET DSL Tools的网站   http://www.domainspecificdevelopment.com/
     5.微软关于DSL Tools的资料
        http://msdn.microsoft.com/en-us/vsx/cc677256.aspx
        http://msdn.microsoft.com/en-us/vsx/default.aspx
        http://msdn.microsoft.com/en-us/library/bb126235.aspx

 

     相关程序集下载.

 

作者:孤独侠客似水流年
出处:http://lonely7345.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

分类: .NET

本文转自孤独侠客博客园博客,原文链接:http://www.cnblogs.com/lonely7345/archive/2009/03/17/1414764.html,如需转载请自行联系原作者
目录
相关文章
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
Voice-Pro:开源AI音频处理工具,集成转录、翻译、TTS等一站式服务
Voice-Pro是一款开源的多功能音频处理工具,集成了语音转文字、文本转语音、实时翻译、YouTube视频下载和人声分离等多种功能。它支持超过100种语言,适用于教育、娱乐和商业等多个领域,为用户提供一站式的音频处理解决方案,极大地提高工作效率和音频处理的便捷性。
89 10
Voice-Pro:开源AI音频处理工具,集成转录、翻译、TTS等一站式服务
|
4月前
|
分布式计算 DataWorks 关系型数据库
MaxCompute 生态系统中的数据集成工具
【8月更文第31天】在大数据时代,数据集成对于构建高效的数据处理流水线至关重要。阿里云的 MaxCompute 是一个用于处理大规模数据集的服务平台,它提供了强大的计算能力和丰富的生态系统工具来帮助用户管理和处理数据。本文将详细介绍如何使用 DataWorks 这样的工具将 MaxCompute 整合到整个数据处理流程中,以便更有效地管理数据生命周期。
152 0
|
1月前
|
机器学习/深度学习 文字识别 并行计算
一款.NET开源的屏幕实时翻译工具
一款.NET开源的屏幕实时翻译工具
|
2月前
|
SQL XML 关系型数据库
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
44 2
|
2月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
106 9
|
2月前
|
存储 数据可视化 开发工具
2款.NET开源且免费的Git可视化管理工具
2款.NET开源且免费的Git可视化管理工具
|
2月前
|
存储 数据可视化 JavaScript
可视化集成API接口请求+变量绑定+源码输出
可视化集成API接口请求+变量绑定+源码输出
63 4
|
2月前
|
移动开发 数据可视化 小程序
可视化集成相当优秀ucharts图表组件
可视化集成相当优秀ucharts图表组件
49 3
|
2月前
|
前端开发 JavaScript C#
2款.NET开源且高效的代码格式化工具
2款.NET开源且高效的代码格式化工具
|
2月前
|
存储 开发工具 C#
Git Extensions:一个.NET开源的 Git 图形用户界面(GUI)工具
Git Extensions:一个.NET开源的 Git 图形用户界面(GUI)工具
135 0
下一篇
DataWorks