NHibernate: One-to-Many一对多映射

时间:2010-03-04 19:13:08  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:用SQL Server自带的NorthWind中的两个表Customers,Orders来做例子,我把Customers类作为父类,Orders类作为子类。      我们先用[url=http://blog.aspcool.com/tim/posts/176.aspx]Cool Coder[/url]生成XML文件和C#代码,再用[url=http://authors.aspalliance.com/aldotnet/examples/translate.aspx]C#2VB转换器[/url]把C#代码转变成VB代码(为什么要转...
  正文:终于使用NHibernate作为项目研究的ORM框架,这次研究只是为了证明一件事,那就是使用ORM后可以提高程序的开发效率和优化程序的结构。
  
  由于CRUD都可以实现了,所以,我就参照张老三的文章来做One-To-Many的例子。这里我使用SQL Server自带的NorthWind中的两个表Customers,Orders来做例子,我把Customers类作为父类,Orders类作为子类。
  
  我们先用[url=http://blog.ASP/ target=_blank class=infotextkey>aspcool.com/tim/posts/176.aspx]Cool Coder[/url]生成XML文件和C#代码,再用[url=http://authors.aspalliance.com/aldotnet/examples/translate.aspx]C#2vb转换器[/url]把C#代码转变成VB代码(为什么要转来转去呢?等过几天有空了,我升级Cool Coder,使之也可以生成VB代码,先临时凑合着用吧!)。稍作修改后就可以得到下面的内容。
  
  先看Customers的映射信息:
  
  xml version="1.0" encoding="utf-8" ?>
  
   <hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
  
   <class name="Customers, AssemblyName" table="Customers">
  
   <id name="CustomerID" column="CustomerID" type="String(5)">
  
   <generator class="assigned" />
  
   id>
  
   <set name="Orders" inverse="true" lazy="true">
  
   <key column="CustomerID" />
  
   <one-to-many class="Orders, AssemblyName " />
  
   set>
  
   <property name="CompanyName" type="String(40)" column="CompanyName" />
  
   <property name="ContactName" type="String(30)" column="ContactName" />
  
   <property name="ContactTitle" type="String(30)" column="ContactTitle" />
  
   <property name="Address" type="String(60)" column="Address" />
  
   <property name="City" type="String(15)" column="City" />
  
   <property name="Region" type="String(15)" column="Region" />
  
   <property name="PostalCode" type="String(10)" column="PostalCode" />
  
   <property name="Country" type="String(15)" column="Country" />
  
   <property name="Phone" type="String(24)" column="Phone" />
  
   <property name="Fax" type="String(24)" column="Fax" />
  
   class>
  
  hibernate-mapping>
  
  
  
   Customers类的代码如下:
  
  Imports System
  
  Public Class Customers
  
   Public Sub New()
  
   End Sub 'New
  
   Dim m_orderList As IDictionary = New Hashtable
  
  
  
   '*
  
   '* Property OrderList ( IDictionary)
  
   '*
  
   Public Property Orders() As IDictionary
  
   Get
  
   Return m_orderList
  
"NHibernate: One-to-Many一对多映射"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/13057.html

 1/6    1 2 3 4 5 6 下一页 尾页


关键字:

关于《NHibernate: One-to-Many一对多映射》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td