使用NHibernate 3.2实现Repository(ORuM)(三)NHibernate、Mapping、Mapping-By-Code
NHibernate使用时通常是先定义实体类,再为实体类映射数据库关系,NHibernate映射是使用XML文件形式的。 当我们Confrontation NHibernate时Mapping的过程: 解析读取Mapping文件 将Mapping文件反序列化(Deserialize)为XmlDeserialized(就是NHibernate.Cfg.MappingSchema.HbmMapping类) 将HbmMapping类Bind为元数据映射(Mapping-MetaDate),(就是NHibernate.Cfg.Mappings类) Build SessionFactory NHibernate映射文件生成方式: 手动编写XML方式 工具软件生成 NHibernate.Mapping.Attributes NHibernate3.2版本集成Mapping-By-Code(代码映射),其设计思想来源于ConfORM,代码整体构思基于"Loquacious"模式,而不是"fluent-interface"。在NHibernate.Mapping.ByCode命名空间下。 Mapping-By-Code(代码映射)与其他映射方式不同,Mapping-By-Code是手动配置实体映射,编译映射并转换为HbmMapping对象