摘要: ORM 阅读全文
posted @ 2011-03-30 22:33 喆_喆 阅读(2479) 评论(17) 推荐(3) 编辑
摘要: 之前几节的翻译见http://www.cnblogs.com/szp1118/archive/2011/01/17/1937408.htmlBidirectional one-to-many class Relationships双向的一对多关联关系在某些情况下,实体之间的双向关联关系是非常有用的.在本节中,我将给你展示怎么样在两个实体类之间建立双向关联关系。如何去做1. 创建一个空的类库项目,并命名为ManualRelationships2. 为该项目添加Iesi.Collections.dll引用,Iesi.Collections.dll文件位于Lib文件夹中3.添加如下的Order类代码 阅读全文
posted @ 2011-03-10 23:20 喆_喆 阅读(1290) 评论(5) 推荐(3) 编辑
摘要: 第一章第二节Mapping a class with XML第一章第三节Creating class hierarchy mappings第一章第四节Mapping a one-to-many relationship第一章第五节Setting up a base entity classHandling versioning and concurrency版本控制和并发在任何的多用户操作的系统中,为了处理并发更新以及版本问题,你必须在乐观并发控制和悲观并发控制中选择一种处理方式。在这一节中,我将给你展示怎样使用NHibernate去恰当地处理版本和乐观并发问题准备工作完成前面几节中的任务,包 阅读全文
posted @ 2011-01-17 15:56 喆_喆 阅读(1722) 评论(2) 推荐(3) 编辑
摘要: 第一章第二节Mapping a class with XML第一章第三节Creating class hierarchy mappings第一章第四节Mapping a one-to-many relationshipSetting up a base entity class设置一个实体类的基类在这节中,我将给你展示怎么样去为我们的实体类设置一个通用的基类。准备工作完成前面三节的任务如何去做1.在Entity.cs中,为我们的Entity类输入如下代码:[代码]2. 在这个文件中,我们添加另一个额外的Entity类,代码如下所示:[代码]分析原理  NHibernate需要依赖于Equals 阅读全文
posted @ 2011-01-17 14:49 喆_喆 阅读(875) 评论(0) 推荐(1) 编辑
摘要: 使用XML映射一个类在任何新开始的NHibernate应用程序中,建议第一步要做的是映射模型(实体类)。在这第一个示例中,我将给你演示怎么样去映射一个简单的产品类。准备工作  在开始进行映射之前,让我们首先对Visual Studio解决方案进行一下设置。根据下面的步骤使用NHibernate发布包(程序集及相关文件)和模式(.xsd文件,用于xml的智能提示和校验)设置好你的解决方案。1.从http://sourceforge. net/projects/nhibernate/files/ 地址下载NHibernate 3.0二进制发布包,下载后的文件名称应该是NHibernate- 3.0 阅读全文
posted @ 2011-01-13 13:57 喆_喆 阅读(1976) 评论(8) 推荐(4) 编辑
摘要: 第一章第三节的翻译见Creating class hierarchy mappingshttp://www.cnblogs.com/szp1118/archive/2010/12/17/1908965.html映射一对多的关联关系一个实体关联另一个实体那是很常见的,也是我们应用程序必不可少的。在这个例子中,我将向你展示怎么样去映射一个一对多(one-to-many)的关联关系,通过之前的Movies实体以及新的实体ActorRoles去进行映射。准备工作完成上一节的创建一个继承关系的映射的例子,这一节的工作将基于上一节的工作之上开始的。如何去做呢.....创建一个新的类,并命名为ActorRo 阅读全文
posted @ 2010-12-31 15:42 喆_喆 阅读(1340) 评论(0) 推荐(3) 编辑
摘要: NHibernate中的Get和Load方法是我们最常用的加载单个对象实例的方法。如果不了解这两者的区别则会存在随意使用的情况。主要区别有两个:1.对于无此POID的情况,Get方法会返回null,而Load方法会抛出异常(异常并不是在调用Load方法时立即抛出的)2.Get方法是立即从数据库中加载该对象,而Load方法返回的是一个代理对象,没有立即命中数据库,也就是所谓的延迟加载。其实第二点区别才是最主要的,我们的实际业务中应该根据需要使用Get或者Load。接下来对上面的两个区别用代码来解释一下:以下代码使用Get方法获取User对象:[代码]上述guid实际存在于数据库中,让我们来看一下 阅读全文
posted @ 2010-12-22 21:23 喆_喆 阅读(3141) 评论(10) 推荐(5) 编辑
摘要: 最近在看Packtpub.NHibernate.3.0.Cookbook.Oct.2010一书,这次把第一章第三节Creating class hierarchy mappings顺手也翻译了一下,由于自己英语水平欠缺,再加上中文也没学好,所以翻译质量较低,还请大家谅解。由于NHibernate的中文资料匮乏,导致NHibernate在.net中的使用受到了一定的影响,或者说没有其在java领域这么流行。以下便是译文:创建继承关系的类型映射父子类的继承层次结构在我们的面向对象语言中非常的常见。在这个例子中,我将给大家展示通过NHibernate去映射继承类型的一种方法,称为所有类型使用一张表的 阅读全文
posted @ 2010-12-17 11:25 喆_喆 阅读(2569) 评论(5) 推荐(8) 编辑
摘要: 索引器在使用集合类时我们经常用到索引器,例如List集合,我们使用int数字作为索引器参数,而字典集合我们可以使用任何对象作为索引器参数。在我们自己定义的类中使用索引器的情况也许不多,现在举例详细说明一下:假设我们定义首都类( Capital ) [代码]Capital类很简单,仅包含 名称和位置 两个属性,位置类包含经度和纬度两个属性,定义如下:[代码]现在我们定义类似于集合的 CapitalL... 阅读全文
posted @ 2010-09-01 17:30 喆_喆 阅读(1947) 评论(0) 推荐(3) 编辑
摘要: 自从使用.net以来就一直都在使用string.Format方法,一直没有空或者其他原因都没有深入去了解,主要还是因为项目上似乎没有这么高的要求,也没必要去深入了解,就算碰到了自定义的格式化内容也是写几个通用的方法而已。今天空下来仔细去理解了一下,在这里和大家分享一下,也希望大家一起交流。string.Format方法是string类提供的静态方法,一般最多使用的是其两个参数的重载,例如:[代码]... 阅读全文
posted @ 2010-07-31 08:08 喆_喆 阅读(3543) 评论(12) 推荐(16) 编辑