Welcome

首页 / 软件开发 / .NET编程技术 / NBearV3 Step by Step教程——ORM篇

NBearV3 Step by Step教程——ORM篇2010-07-13 cnblogs teddyma版本

1.7 [2006-1-16]

简介

本教程演示如何基于NBearV3的ORM模块开发一个Web应用程序的全过程。本教程演示的实体关系包括:继承、1对1关联、1对多关联,多对多关联。同时,本教程还演示如何设计实体属性为nullable类型或符合类型。

注:所谓nullable类型主要是针对之类型而言的,.Net2.0位所有的值类型支持nullable,设为nullable的值类型,允许是null的,这样,就可以映射数据库中的null;而符合类型指这个属性是一个复合类型,但是,保存到数据库的时候,整个复合类型序列化后保存为一个数据表的字段的值。

目标

通过本教程,读者应能够掌握使用NBearV3的ORM模块进行应用程序设计的基本过程,以及开发过程中,NBearV3提供的相关工具的使用方法。

代码

本教程演示创建的所有工程和代码,包含于可以从sf.net下载的NBearV3最新源码zip包中的tutorialsORM_Tutorial目录中。因此,在使用本教程的过程中如有任何疑问,可以直接参考这些代码。

时间

<45分钟。

正文

Step 1 下载NBearV3最新版本

1.1访问http://sf.net/projects/nbear,下载NBearV3的最新版本到本地目录。

1.2 将下载的zip文件解压至C:,您将看到,加压后的NBearV3目录中包括:dist、doc、cases、src等目录。其中,在本教程中将会使用的是dist目录,该目录下包含所有release编译版本的dll和exe。

Step 2 创建应用程序解决方案

2.1 打开VS2005开发环境,新建一个空的解决方案sln。

2.2 向sln中添加两个新建的C#类库工程,两个类库工程的名称分别为EntityDesigns和Entities,删除IDE自动创建的Class1.cs文件。

2.3 向sln中新建一个名叫website的ASP.NET Web应用程序,为website添加一个Web.config文件。

Step 3 设计实体及关系

3.1 在2.2创建的EntityDesigns工程中,新建一个名为ClassDiagram.cd的类图文件。注:如果您的IDE不支持类图设计,或者您更习惯写代码,您也可以参照下面的步骤直接创建代码。

3.2为EntityDesigns工程添加到dist目录下的NBear.Common.Design.dll的引用。因为下面的每一个设计实体接口必须继承自NBear.Common.Design.Entity这个接口。在Entities工程中创建一个名为UserName的struct包含FirstName和LastName两个string类型的Field。同时在Entities工程中创建一个名为UserStatus的枚举类型,包含两个枚举选项:Availale和Deleted。注:这两个类型将用于后面的设计实体的设计。之所以这两个类型定义在Entities工程中而不是EntityDesigns工程中是,最终,所有生成的实体将放在Entities工程,且Entities工程最后对EntityDesigns工程是没有依赖关系的。

3.3 双击ClassDiagram.cd打开设计界面,您现在就可以设计实体了。注意,所有的设计实体必须是接口。为了使用3.2创建的类型,需要让Entit一Designs工程引用Entities工程。

3.4 向类图中添加一个User接口,继承自NBear.Common.Design.Entity。添加属性ID,Name,Status和Birthday。类型分别为Guid、UserName、UserStatus和DateTime?。注意,这里的Name和Status的类型为3.2创建的自定义符合类型UserName和枚举类型UserStatus。而Birthday属性的类型为一个Nullable类型的DateTime?。注意DateTime后面的问号,表示这个类型实际是一个Nullable<DateTime>,也就是说,Birthday类型如果不赋初始值的话,它的值为null。

3.5 向类图中再添加一个LocalUser接口,继承自NBear.Common.Design.Entity。添加属性LoginName和Password。类型都为string。