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,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
安全 JavaScript 前端开发
安全漏洞检测集成及实践:SAST/DAST工具集成指南
通过合理集成和配置SAST/DAST工具,可以显著提升应用程序的安全性,并在开发早期发现和修复漏洞,降低安全风险和维护成本
742 4
|
7月前
|
人工智能 自然语言处理 安全
代码静态扫描工具集成与实践
代码静态扫描工具(Static Application Security Testing, SAST)是在不运行代码的情况下,通过分析源代码或二进制代码来发现潜在安全漏洞、代码缺陷和质量问题的工具
864 4
|
7月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
598 6
编解码 算法 vr&ar
511 0
|
8月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
1445 1
|
9月前
|
人工智能 数据可视化 BI
【2025】项目管理API集成工具指南:提升协作效率的17个必备模块
项目管理API集成工具通过连接不同平台,实现数据自动同步与流程自动化,提升团队协作效率。它支持跨系统操作,如任务同步、文档生成及可视化报表,减少人为错误,增强信息流通。随着技术发展,这类工具在企业数字化转型中扮演关键角色。
571 0
|
11月前
|
缓存 开发框架 .NET
一个功能丰富的 .NET 工具库 XiHan.Framework.Utils
XiHan.Framework.Utils 是一个功能全面的 .NET 工具库,包含字符串处理、集合扩展、加密解密、分布式 ID、文件操作、缓存、线程、国际化等模块。设计上注重高内聚、低耦合,适用于各类 .NET 应用开发。支持 AES 加密、树形结构转换、分页过滤、日志输出等功能,提供简单易用的 API。可通过 NuGet 快速安装,源码开放,采用 MIT 协议。
399 56
|
Shell 网络安全 C#
一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
436 4
|
人工智能 达摩院 并行计算
VideoRefer:阿里达摩院开源视频对象感知与推理框架,可集成 VLLM 提升其空间和时间理解能力
VideoRefer 是浙江大学与阿里达摩学院联合推出的视频对象感知与推理技术,支持细粒度视频对象理解、复杂关系分析及多模态交互,适用于视频剪辑、教育、安防等多个领域。
762 17
VideoRefer:阿里达摩院开源视频对象感知与推理框架,可集成 VLLM 提升其空间和时间理解能力

热门文章

最新文章

下一篇
开通oss服务