<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      nhibernate學(xué)習(xí)之三級聯(lián)(Ternary Associations)篇

          園子里面的兄弟們好,由于工作和身體的原因,幾天來都沒有寫有關(guān)nhibernate學(xué)習(xí)系列了。看了看前幾篇大家的回復(fù),首先想要多謝兄弟們對小弟的關(guān)注和支持,可小弟水平有限,寫出來的也只是入門級的心得。只是有一個心愿,那就是拋磚引玉,希望能和大家更多更好的互動。技術(shù)無極限,而我更想要得是能在園子里面認(rèn)識更多的兄弟,更多的朋友。對了,忘記了一點事情,那就是,兄弟們,節(jié)日快樂,哈哈哈。。。唧唧歪歪這么多,大家不要見笑,下面進入正題
      1) 學(xué)習(xí)目標(biāo)
      通過進一步學(xué)習(xí)Nhibernate基礎(chǔ)知識,掌握用Nhiberate實現(xiàn)對級聯(lián)的支持,通過一個簡單的用戶角色權(quán)限系統(tǒng)來體驗nhibernate對級聯(lián)的強大支持。
       
      2)開發(fā)環(huán)境和必要準(zhǔn)備 
        開發(fā)環(huán)境為:windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition
        必要準(zhǔn)備:學(xué)習(xí)前三篇nhibernate學(xué)習(xí)系列Nhibernate學(xué)習(xí)之起步篇-1  ,Nhibernate學(xué)習(xí)起步之many-to-one篇 ,Nhibernate學(xué)習(xí)之many-to-many篇

      3)示例
        業(yè)務(wù)需求:實現(xiàn)一個用戶角色權(quán)限系統(tǒng),一個用戶只有一個角色,一個角色下有多個用戶,一個角色下有多個權(quán)限,一個權(quán)限也對應(yīng)多個角色
                            要求: (1).創(chuàng)建一個角色 (2)在該角色上創(chuàng)建兩個個用戶3)創(chuàng)建兩個權(quán)限4)指定該角色上的權(quán)限列表5)獲得一個用戶的權(quán)限列表
        首先看關(guān)系數(shù)據(jù)庫關(guān)系圖:
        
      4)實現(xiàn)步驟:
        1.User.cs
      using System;
      using System.Collections.Generic;
      using System.Text;

      namespace NhibernateSample1
      {
          
      public class User
          
      {
              
      private int _id;
              
      private string _name;
              
      private string _pwd;
              
      private Role _role;
              
      /// <summary>
              
      /// 編號
              
      /// </summary>

              public virtual int Id
              
      {
                  
      get
                  
      {
                      
      return _id;
                  }

                  
      set
                  
      {
                      _id 
      = value;
                  }

              }


              
      /// <summary>
              
      /// 名稱
              
      /// </summary>

              public virtual string Name
              
      {
                  
      get
                  
      {
                      
      return _name;
                  }

                  
      set
                  
      {
                      _name 
      = value;
                  }

              }


              
      /// <summary>
              
      /// 密碼
              
      /// </summary>

              public virtual string Pwd
              
      {
                  
      get
                  
      {
                      
      return _pwd;
                  }

                  
      set
                  
      {
                      _pwd 
      = value;
                  }

              }

              
      public virtual Role Role
              
      {
                  
      get
                  
      {
                      
      return _role;
                  }

                  
      set
                  
      {
                      _role 
      = value;
                  }

              }

          }

      }

       User.hbm.xml
      <?xml version="1.0" encoding="utf-8" ?>
      <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
        
      <class name="NhibernateSample1.User,NhibernateSample1" table="Users" lazy="false">
          
      <id name="Id" column="Id" unsaved-value="0">
            
      <generator class="native" />
          
      </id>
          
      <property name="Name" column="Name" type="string" length="64" not-null="true" unique="true"></property>
          
      <property name="Pwd"  column="Pwd"  type="string" length="64" not-null="true"></property>
          
      <many-to-one name="Role"  class="NhibernateSample1.Role,NhibernateSample1" column="RoleID"></many-to-one>
         
      </class>
      </hibernate-mapping>
      2.Role.cs
      using System;
      using System.Collections.Generic;
      using System.Text;
      using System.Collections;

      namespace NhibernateSample1
      {
          
      public class Role
          
      {
              
      int _roleID;
              
      string _roleName;
              IList _list 
      = new  ArrayList();
              IList _permissionList 
      = new ArrayList();
              
      public virtual IList PermissionList
              
      {
                  
      get
                  
      {
                      
      return _permissionList;
                  }

                  
      set
                  
      {
                      _permissionList 
      = value;
                  }

              }

              
      public virtual int RoleID
              
      {
                  
      get
                  
      {
                      
      return _roleID;
                  }

                  
      set
                  
      {
                      _roleID 
      = value;
                  }

              }

              
      public virtual IList UserList
              
      {
                  
      get
                  
      {
                      
      return _list;
                  }

                  
      set
                  
      {
                      _list 
      = value;
                  }

              }

              
      public virtual string RoleName
              
      {
                  
      get
                  
      {
                      
      return _roleName;
                  }

                  
      set
                  
      {
                      _roleName 
      = value;
                  }

              }

          }

      }

      Role.hbm.xml
      <?xml version="1.0" encoding="utf-8" ?>
      <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
        
      <class name="NhibernateSample1.Role,NhibernateSample1" table="Roles" lazy="false">
          
      <id name="RoleID" column="RoleID" unsaved-value="0">
            
      <generator class="native" />
          
      </id>
          
      <property name="RoleName"  column="RoleName"  type="string" length="64" not-null="true"></property>
          
      <bag name="PermissionList" table="Role_Permissions" inverse="true" lazy="false" cascade="all">
            
      <key column="RoleID"/>
            
      <many-to-many class="NhibernateSample1.Permission,NhibernateSample1" column="PermissionID"></many-to-many>
          
      </bag>
          
      <bag name="UserList" table="Users" inverse="true" lazy="false" cascade="all">
            
      <key column="RoleID"/>
            
      <one-to-many class="NhibernateSample1.User,NhibernateSample1"></one-to-many>
          
      </bag>
        
      </class>
      </hibernate-mapping>
      3.Permission.cs
      using System;
      using System.Collections.Generic;
      using System.Text;
      using System.Collections;

      namespace NhibernateSample1
      {
          
      public class Permission
          
      {
              
      int _permissionID;
              
      string _permissionName;
              IList _roleList 
      = new ArrayList();
              
      public virtual int PermissionID
              
      {
                  
      get
                  
      {
                      
      return _permissionID;
                  }

                  
      set
                  
      {
                      _permissionID 
      = value;
                  }

              }

              
      public virtual string PermissionName
              
      {
                  
      get
                  
      {
                      
      return _permissionName;
                  }

                  
      set
                  
      {
                      _permissionName
      =value;
                  }

              }

              
      public virtual IList RoleList
              
      {
                  
      get
                  
      {
                      
      return _roleList;
                  }

                  
      set
                  
      {
                      _roleList 
      = value;
                  }

              }

          }

      }

      Permission.hbm.xml
      <?xml version="1.0" encoding="utf-8" ?>
      <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
        
      <class name="NhibernateSample1.Permission,NhibernateSample1" table="Permissions" lazy="false">
          
      <id name="PermissionID" column="PermissionID" unsaved-value="0">
            
      <generator class="native" />
          
      </id>
          
      <property name="PermissionName" column="PermissionName" type="string" length="64" not-null="true" unique="true"></property>
          
      <bag name="RoleList" table="Role_Permissions"  lazy="true">
            
      <key column="PermissionID"/>
            
      <many-to-many class="NhibernateSample1.Role,NhibernateSample1" column="RoleID"></many-to-many>
          
      </bag>
        
      </class>
      </hibernate-mapping>
      4。數(shù)據(jù)操作類
      UserRolePermissionFixure
      5。單元測試類
      UnitTest1.cs
         通過本篇的學(xué)習(xí),將充分理解到nhibernate對級聯(lián)支持的強大。另外除了支持三級聯(lián)之外,他還支持異類關(guān)聯(lián)(Heterogeneous Associations) .給開發(fā)帶來了更多的靈活性和實用性。而且考慮到性能的問題,還添加了lazy這樣的延遲加載的功能,加載父親不必要一定要加載他的兒子集合。通過集合類映射,nhinernate輕松實現(xiàn)級聯(lián),這相比較代碼生成來說,無疑是一個優(yōu)點。
      posted @ 2007-04-01 01:00  Robin Zhang  閱讀(4840)  評論(8)    收藏  舉報
      主站蜘蛛池模板: 亚洲岛国成人免费av| 久热久精久品这里在线观看| 97欧美精品系列一区二区| 精品国产乱码一区二区三区| 精品国产成人网站一区在线| 亚洲av天堂天天天堂色| 国产精品国产主播在线观看| 人人爽人人爽人人片a免费| 国产成人综合在线观看不卡| 综合激情丁香久久狠狠| 国产精品午夜福利精品| 久久精品熟女亚洲av麻| 久国产精品韩国三级视频| 亚洲AV成人无码久久精品四虎| 久久精品国产99精品亚洲| 久本草在线中文字幕亚洲| 国产精品视频白浆免费视频| 精品无码久久久久久尤物 | 久久精品国产99久久6| 久久精品无码免费不卡| 国精产品999国精产| 三级黄色片一区二区三区| 蜜臀av久久国产午夜| 大荔县| 亚洲av色夜色精品一区| 国产一区二区在线有码| 亚洲中文字幕无码久久2017| 自慰无码一区二区三区| 国产精品普通话国语对白露脸| 欧美一区二区三区久久综合| 精品av一区二区三区不卡| 亚洲制服无码一区二区三区| 日本精品一区二区不卡| 国产精品亚洲二区在线播放| 伊人久久精品无码麻豆一区| 国产高清在线男人的天堂| 国产欧美亚洲精品第一页在线| 92国产福利午夜757小视频| 插入中文字幕在线一区二区三区| 国产又爽又黄的激情视频| 亚洲国产成人极品综合|