一、创建应用程序解决方案
1.1 打开VS2005开发环境,新建一个空的解决方案Solution。
1.2 向Solution中添加两个新建的C#类库工程,两个类库工程的名称分别为EntityDesigns和Entities,删除IDE自动创建的Class1.cs文件。
1.3 向Solution中再添加两个新建的C#类库工程,两个类库工程的名称分别为ServiceInterfaces和ServiceImpls,删除IDE自动创建的Class1.cs文件。
1.4 向Solution 中新建一个名叫WebApplication的ASP.NET Web应用程序,为WebApplication添加一个Web.config文件。
1.5 项目依赖设置:
WebApplication -> Entities, ServiceInterfaces
ServiceInterfaces -> Entities
ServiceImpls -> Entities, ServiceInterfaces
注:设置完依赖后,记得添加项目引用,并在各项目中添加NB的相关dll
1.6相关引用
WebApplication需:NBear.Common.dll,NBear.Data.dll和NBear.IoC.dll的引用
ServiceInterfacesf需:NBear.Common.dll和NBear.IoC.dll的引用
ServiceImpls 需: NBear.Common.dll,NBear.Data.dll和NBear.IoC.dll的引用
Entities需:NBear.Common. dll
EntityDesigns需:NBear.Common.Design.dll的引用,因为每一个设计实体接口必须继承自NBear.Common.Design.Entity这个接口
记得using
一、从数据库到实体
2. 在EntitiyDesigns工程中新建一个代码文件EntityDesigns.cs,添加using System和using NBear.Common.Design设置namespace为EntityDesigns。并将刚才从DbToEntityDesign复制的代码粘贴至该文件中。
二、从实体设计代码生成实体代码、实体配置文件
3.3 点击Generate Configuration按钮,将生成的代码保存到website工程下的名为EntityConfig.xml的新文件中。
三、使用Nbear代码工具生成代码
打开工具后,在系统菜单中找到参数配置。配置好数据库类型及相应的链接字符串,将项目的顶级名字空间设置好(PX.ServiceInterfaces)那这里要设置成PX,导出路径设置成你项目的根目录(一般是跟解决方案.sln同一路径,这样生成时,代码自动会生成到解决方案的相应目录中,然后在IDE中,点击解决方案上方的显示所有文件按钮,将生成好的.cs包括到项目中就可以了)
工具说明:本工具用在数据库表很多时,才会发挥大的作用,主要是生成ServiceInterfaces,ServiceImpls这两层的代码,ServiceImpls中使用了partial关键字,用户自己写的代码要放在ServiceUS.cs中,以免当数据库修改后,二次生成后,把用户自己写在Service里的代码覆盖。
四、使用实体及NBear.Data.Gateway访问数据库
1.W
设置website的Web.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模块的使用。