如何利用NB代码生成工具和NBear框架,快速开发WEB项目

如何利用NB代码生成工具和NBear框架,快速开发WEB项目
NBear是一个.Net 2.0下的快速开发框架。它提供了包括可视化实体设计、代码生成、持久化、SOA、MVP等一系列组件。

    NBear的设计目标是尽最大可能减少程序员的重复劳动、提高开发效率、提升代码的可维护性和整体质量。 
    官方网站: http://nbear.org 
    中文教程目录索引: http://www.cnblogs.com/teddyma/archive/2006/11/07/553562.html 
    示例程序:从官方网站下载NBearVXXX_tutorials.zip,解压后见tutorials目录。

本文提到的NBear代码生成工具,主要是配合NBear框架更快速开发项目的一种代码生成工具。主要工具是根据数据库生成NBear框架中ServiceInterfaces层ServiceImpls层的代码。提高开发效率。接合本身NBear所带的实体生成工具,和配置文件生成工具。加上本文中的这个工具,可以大大提高项目的开发时间,开发人员只用编写跟业务有关的代码,框架相关的代码,基本上这几个工具,都可以自动生成了。
下面详细说明一下如何使用这几个工具来快速开发项目:

 

一、创建应用程序解决方案

 

.1 打开VS2005开发环境,新建一个空的解决方案Solution

.2 Solution中添加两个新建的C#类库工程,两个类库工程的名称分别为EntityDesignsEntities,删除IDE自动创建的Class1.cs文件。

.3 Solution中再添加两个新建的C#类库工程,两个类库工程的名称分别为ServiceInterfacesServiceImpls,删除IDE自动创建的Class1.cs文件。

.4 Solution 中新建一个名叫WebApplicationASP.NET Web应用程序,为WebApplication添加一个Web.config文件。

 1.5 项目依赖设置:

WebApplication > Entities, ServiceInterfaces  

          ServiceInterfaces > Entities

          ServiceImpls   > Entities, ServiceInterfaces

注:设置完依赖后,记得添加项目引用,并在各项目中添加NB的相关dll

.6相关引用

WebApplication需:NBear.Common.dll,NBear.Data.dll和NBear.IoC.dll的引用

ServiceInterfacesf需:NBear.Common.dllNBear.IoC.dll的引用

ServiceImpls 需: NBear.Common.dllNBear.Data.dllNBear.IoC.dll的引用

Entities需:NBear.Common. dll

EntityDesigns需:NBear.Common.Design.dll的引用,因为每一个设计实体接口必须继承自NBear.Common.Design.Entity这个接口

 记得using

    

 

一、从数据库到实体

1. 运行NBear.Tools.DbToEntityDesign.exe,在Connection String文本框中输入下面的连接子串:Server=(local);Database=Northwind;Uid=sa;Pwd=sa

2. 在EntitiyDesigns工程中新建一个代码文件EntityDesigns.cs,添加using System和using NBear.Common.Design设置namespace为EntityDesigns。并将刚才从DbToEntityDesign复制的代码粘贴至该文件中。

3 下面,对这些生成的代码做一下改造(具体查询NB中文说明书Step 3 设计实体、关系及元数据)

 

 

二、从实体设计代码生成实体代码、实体配置文件

 3.1编译EntityDesigns工程。
3.2 运行dist目录中的NBear.Tools.EntityDesignToEntity.exe工具,载入EntityDesigns工程编译生成的EntityDesigns.dll。点击Generate Entities按钮,将生成的代码保存到Entities工程中的一个名叫Entities.cs的新代码文件

3.3 点击Generate Configuration按钮,将生成的代码保存到website工程下的名为EntityConfig.xml的新文件中。

 

三、使用Nbear代码工具生成代码

打开工具后,在系统菜单中找到参数配置。配置好数据库类型及相应的链接字符串,将项目的顶级名字空间设置好(PX.ServiceInterfaces)那这里要设置成PX,导出路径设置成你项目的根目录(一般是跟解决方案.sln同一路径,这样生成时,代码自动会生成到解决方案的相应目录中,然后在IDE中,点击解决方案上方的显示所有文件按钮,将生成好的.cs包括到项目中就可以了)

 

工具说明:本工具用在数据库表很多时,才会发挥大的作用,主要是生成ServiceInterfacesServiceImpls这两层的代码,ServiceImpls中使用了partial关键字,用户自己写的代码要放在ServiceUS.cs中,以免当数据库修改后,二次生成后,把用户自己写在Service里的代码覆盖。

 

四、使用实体及NBear.Data.Gateway访问数据库

1.W

设置websiteWeb.config文件,添加一个entityConfig section以包含EntityConfig.xml这个实体配置文件,并设置数据库连接字串。下面是设置完的Web.config,注意,粗体的部分都是我们添加的代码(注意修改数据库登录密码。):

xmlversion="1.0"encoding="utf-8"?>

<configuration>

     <configSections>

    <sectionname="castle"type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor"/>

         <sectionname="entityConfig"type="NBear.Common.EntityConfigurationSection, NBear.Common"/>

     < SPAN>configSections>

     <entityConfig>

         <includes>

              <addkey="Sample"value="~/EntityConfig.xml"/>

         < SPAN>includes>

     < SPAN>entityConfig>

     <castle>

         <components>

              <componentid="CurriculumClass"service="PX.ServiceInterfaces.ICurriculumClass, PX.ServiceInterfaces"type="PX.ServiceImpls.CurriculumClassService, PX.ServiceImpls"/>

         < SPAN>components>

     < SPAN>castle>

     <connectionStrings>

     <addname="pxinfo"connectionString="Server=100.100.100.100;Database= info;Uid=sa;Pwd=sa"providerName="NBear.Data.SqlServer.SqlDbProvider"/>

     < SPAN>connectionStrings>

         <appSettings/>

        <system.web>

5.3 好了,到目前为止,实体设置和配置完毕了。下面我们将开始讨论IoC模块的使用。

具体使用参看 DEMO;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值