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

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

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

      nhibernate學習之簡單組合的映射

      1.學習目標
         通過學習nhibernate基礎知識,了解nhibernate對組合屬性的用法。
      2.開發環境和必要準備
         開發環境為:windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition
        必要準備:學習前六篇nhibernate學習系列Nhibernate學習之起步篇-1  ,Nhibernate學習起步之many-to-one篇 ,Nhibernate學習之many-to-many篇 ,nhibernate學習之三級聯(Ternary Associations)篇Nhibernate學習之性能改善1nhibernate性能之二級緩存篇
      3.分析
         在關系數據庫中,為了減少冗余,每個字段會被設計的更加獨立。比如一個人的名字,包括名(FirstName),姓(LastName),通常在數據庫中要設計為兩個字段,這樣便于檢索所有姓張的用戶,而在對象中,一個人的姓名往往是一個組合元素,nhibernate對組合屬性也有很好的支持
      4.實現方法
         用于組織姓名的對象UserName  
      public class UserName
          
      {
              
      private string _firstName;
              
      private string _lastName;
              
      public string FirstName
              
      {
                  
      get
                  
      {
                      
      return _firstName;
                  }

                  
      set
                  
      {
                      _firstName
      =value;
                  }

              }

              
      public string LastName
              
      {
                  
      get
                  
      {
                      
      return _lastName;
                  }

                  
      set
                  
      {
                      _lastName 
      = value;
                  }

              }

          }

      用戶對象:CompositeUser.cs
       public class CompositeUser
          
      {
              
      int _uid;
              UserName _name;
              
      public int Uid
              
      {
                  
      get
                  
      {
                      
      return _uid;
                  }

                  
      set
                  
      {
                      _uid 
      = value;
                  }

              }


              
      public UserName Name
              
      {
                  
      get
                  
      {
                      
      return _name;
                  }

                  
      set
                  
      {
                      _name 
      = value;
                  }

              }
      用戶對象的映射文件.CompositeUser.hbm.xml
      <?xml version="1.0" encoding="utf-8" ?>
      <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
          
      <class name="NhibernateSample1.CompositeUser,NhibernateSample1" table="CompostName" lazy="false">
              
      <id name="Uid" column="Uid" unsaved-value="0">
                  
      <generator class="native" />
              
      </id>
              
      <component name="Name" class="NhibernateSample1.UserName,NhibernateSample1">
                  
      <property name="FirstName" column="FirstName"></property>
                  
      <property name="LastName" column="LastName"></property>
              
      </component>
          
      </class>
      </hibernate-mapping>
      注意,compenent就是映射組合屬性的節點,它的子節點property代表其組合屬性
      CompositeUser數據表的表結構為

      新增一個CompositeUser對象
       public int AddCompositeUser(CompositeUser u)
              
      {
                  session 
      = NhibernateSample1.NHibernateHelper.GetCurrentSession();
                  ITransaction tra 
      = session.BeginTransaction();
                  
      try
                  
      {
                      
      int res =(int)session.Save(u);
                      tra.Commit();
                      
      return res;
                  }

                  
      catch
                  
      {
                      tra.Rollback();
                  }

                  
      finally
                  
      {
                      session.Close();
                  }

                  
      return -1;
              }
      測試代碼
        [TestMethod]
              
      public void Test1()
              
      {
                  usf.Configure();
                  usf.ExportTables();
                  CompositeUser u 
      = new CompositeUser();
                  UserName name 
      = new UserName();
                  name.FirstName 
      = "zhang";
                  name.LastName 
      = "jill";
                  u.Name 
      = name;
                  
      int res =new NhibernateSample1.UserFixure().AddCompositeUser(u);
                  Assert.IsTrue(res
      >0);
              }
      nhibernate真的是非常強大的一個框架,下篇將學習復雜組合的使用方法。今天先到這。睡了
      posted @ 2007-04-03 23:34  Robin Zhang  閱讀(3610)  評論(5)    收藏  舉報
      主站蜘蛛池模板: 免费一区二三区三区蜜桃| 国产精品国产主播在线观看| 国产精品麻豆中文字幕| 亚洲AVAV天堂AV在线网阿V| 亚洲第一福利网站在线观看| 麻豆国产成人AV在线播放| 国产成人啪精品视频免费网| 久久99久国产麻精品66| 久久不见久久见www日本| 少妇无套内谢免费视频| 亚洲av噜噜一区二区| 国产精品va无码一区二区| 国产欧美在线手机视频| 国产激情一区二区三区午夜| 国产成人无码A区在线观看视频| 日韩中文字幕综合第二页| a级黑人大硬长爽猛出猛进| 乌兰县| 少妇熟女视频一区二区三区| 精品人妻中文字幕在线| 中国china露脸自拍性hd| 中文字幕第一页国产| 精品亚洲一区二区三区在线播放| 日日碰狠狠添天天爽不卡| 国产精品美女AV免费观看| 精品偷拍一区二区三区| 亚洲一区二区三区av激情| 国产一区二区三区高清在线观看| 国产电影无码午夜在线播放| 最新国产精品亚洲| 欧美激情肉欲高潮视频| 国产精品成人一区二区不卡| 九九热视频在线免费观看| 黑巨人与欧美精品一区| 精品国产精品中文字幕| 青草青草视频2免费观看| 亚洲国产美女精品久久久久| 麻豆果冻传媒2021精品传媒一区| 国产一区二区不卡在线| 欧美精欧美乱码一二三四区| 神马视频|