NHibernate实例分享:Northwind Mapping
本节内容说明代码参考资料说明NHibernate的强大之处在于其映射我们在设计Domain中经常为各种各样的映射感到头痛为此我把微软SQL Server2000自带的Northwind数据库使用NHibernate映射了一下需要的请下载其代码在文章中就不仔细说明了一切都在代码中。顺便说一句其实映射不必这么复杂的写出全部hibernate-mapping xmlnsurn:nhibernate-mapping-2.2 class nameYourApp.Common.DataObjects.Address, YourApp tableAddress id nameId typeInt32 unsaved-valuenull column nameId length4 sql-typeint not-nulltrue uniquetrue indexPK_Address/ generator classnative / /id property nameAddress1 typeString column nameAddress1 length255 sql-typevarchar not-nulltrue/ /property property nameAddress2 typeString column nameAddress2 length255 sql-typevarchar not-nullfalse/ /property property nameCity typeString column nameCity length255 sql-typevarchar not-nulltrue/ /property property nameState typeString column nameState length2 sql-typevarchar not-nulltrue/ /property property nameZip typeString column nameZip length12 sql-typevarchar not-nulltrue/ /property many-to-one nameContact classYourApp.Common.DataObjects.Contact, YourApp column nameContact_Id length4 sql-typeint not-nullfalse/ /many-to-one bag nameBillToOrderHeaders inversetrue lazytrue cascadeall-delete-orphan key columnBillToAddress_Id/ one-to-many classYourApp.Common.DataObjects.OrderHeader, YourApp/ /bag bag nameShipToOrderHeaders inversetrue lazytrue cascadeall-delete-orphan key columnShipToAddress_Id/ one-to-many classYourApp.Common.DataObjects.OrderHeader, YourApp/ /bag /class /hibernate-mapping其实这样就可以了不要把默认的都写上去的我这个例子映射写的最简洁大家下载看看吧hibernate-mapping xmlnsurn:nhibernate-mapping-2.2 assemblyYourApp namespaceYourApp.Common.DataObjects class nameAddress id nameId generator classnative / /id property nameAddress1 not-nulltrue / property nameAddress2/ property nameCity not-nulltrue/ property nameState length2 not-nulltrue/ property nameZip length12 not-nulltrue/ many-to-one nameContact columnContact_Id/ bag nameBillToOrderHeaders inversetrue cascadeall-delete-orphan key columnBillToAddress_Id/ one-to-many classOrderHeader/ /bag bag nameShipToOrderHeaders inversetrue cascadeall-delete-orphan key columnShipToAddress_Id/ one-to-many classOrderHeader/ /bag /class /hibernate-mapping