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

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

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

      Nhibernate 3.0 cookbook學(xué)習(xí)筆記 集合

      Nhibernate支持四種集合:

      1 Bags

      Bags中的數(shù)據(jù)允許重復(fù),并且順序在Bag中是不重要的。比如一個(gè)ActorRole的Bag集合,可能包含actor role 1, actor role 2, actor role 3, actor role 1,
      actor role 4, and actor role 1,它們中允許有重復(fù)項(xiàng)出現(xiàn)。下面是一個(gè)典型的Bag映射:

        <bag name="Actors">
          <key column="MovieId"/>
          <one-to-many class="ActorRole"/>
        </bag>

      在相應(yīng)的類中,Bag的實(shí)現(xiàn)可以為IList、ICollection甚至 IEnumerable.

      因?yàn)锽ag中的數(shù)據(jù)是可重復(fù)的,所以我們不能通過一條簡單的SQL語句如:delete from Actors where ActorRoleId='1'來確定刪除某一條數(shù)據(jù),如果執(zhí)行這條語句會(huì)把三個(gè)actor role 1的實(shí)體都刪除。

      為了解決這個(gè)問題,Nhibernate提供了idBag.在idBag中,每一個(gè)實(shí)體都被分配了一個(gè)POID來唯一確定實(shí)體。

          <idBag name="Actors">
            <collection-id column="ActorRoleBagId" type="Int64">
              <generator class="hilo" />
            </collection-id>
            <key column="MovieId"/>
            <one-to-many class="ActorRole"/>
          </idBag>

      這樣Nhibernate就可以像執(zhí)行這條語句:delete from Actors where ActorRoleBagId='2'一樣來刪除唯一的實(shí)體。

      2 Lists

       List中的數(shù)據(jù)也是可重復(fù)的,但與Bag不一樣,數(shù)據(jù)的所處位置是有意義的。一個(gè)List可能是index 0為actor role 1 , index 1為actor role 2, index 2為actor role 3, index 3為actor role 1,index 4為actor role 4,index 5為actor role 1.一個(gè)典型的List映射如下:

      <list name="Actors">
            <key column="MovieId" />
            <list-index column="ActorRoleIndex" />
            <one-to-many class="ActorRole"/>
       </list>

      在相應(yīng)的類中,List的實(shí)現(xiàn)應(yīng)為IList。
      3 Sets

       Set中的數(shù)據(jù)是不允許重復(fù)的,數(shù)據(jù)出現(xiàn)的位置也無關(guān)緊要。在一個(gè)Set中,可能有actor role 1, actor role 3, actor role 2, 和 actor role 4.如果你嘗試向Set中插入actor role 1的實(shí)體,這個(gè)操作將為失敗。一個(gè)典型的Set映射如下:

          <set name="Actors">
            <key column="MovieId" />
            <one-to-many class="ActorRole"/>
          </set>

      在相應(yīng)的類中,Set的實(shí)現(xiàn)應(yīng)為來自Iesi.Collections.dll的ISet。
      4 Map

      Map就像一個(gè)字典,每一個(gè)集合中的實(shí)體都擁有一個(gè)key和一個(gè)value,并且key必須是唯一的。一個(gè)典型的映射如下:

          <map name="Actors" >
            <key column="MovieId" />
            <map-key column="Role" type="string" />
            <element column="Actor" type="string"/>
          </map>

      在相應(yīng)的類中,Map的實(shí)現(xiàn)應(yīng)為IDictionary<string, string>。

      當(dāng)然,允許映射的數(shù)據(jù)類型有很多,不單單是string。一個(gè)Map的key或value的數(shù)據(jù)類型甚至可以是一個(gè)實(shí)體。

          <map name="SomeProperty">
            <key column="Id" />
            <index-many-to-many class="KeyEntity"/>
            <many-to-many class="ValueEntity" />
          </map>

       

       

       

      posted @ 2012-05-15 08:59  Gyoung  閱讀(1879)  評(píng)論(2)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲avav天堂av在线网爱情| 久久亚洲色www成人| 日本国产精品第一页久久| 日本国产一区二区三区在线观看| 国产精品午夜福利资源| 亚洲自拍偷拍福利小视频| 国产中文三级全黄| 日本精品人妻无码77777| 日韩不卡在线观看视频不卡| 成人精品久久一区二区三区| 国产亚洲精品2021自在线| 亚洲人成网网址在线看| 激情六月丁香婷婷四房播| 亚洲人成人无码网WWW电影首页| 人妻激情偷乱一区二区三区| 97国产成人无码精品久久久| 日韩av一区二区不卡在线| 欧美人人妻人人澡人人尤物| 亚洲AV国产福利精品在现观看| 韩国 日本 亚洲 国产 不卡| 精品国产成人三级在线观看| 99久久99这里只有免费费精品| 无码专区 人妻系列 在线 | 男人猛躁进女人免费播放| 激情综合色综合久久丁香| 亚洲av无码专区在线厂| 国产二区三区不卡免费| 综合久久av一区二区三区| 亚洲av不卡电影在线网址最新| 色综合AV综合无码综合网站| 国产精品无码专区| 国产精品一区二区久久精品无码| 浮山县| 国产一区二区三区不卡观| 亚洲理论在线A中文字幕| 甘洛县| 国产精品国产精品国产精品| 亚洲欧洲日韩国内高清| 亚洲熟妇少妇任你躁在线观看无码 | 国产大学生自拍三级视频| 日本熟妇色xxxxx日本免费看|