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

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

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

      冠軍

      導航

      Entity Framework 4.1 之五:多對多的關系

      原文名稱:Entity Framework 4.1: Many to Many Relationships (5)

      原文地址:http://vincentlauzon.wordpress.com/2011/04/15/entity-framework-4-1-many-to-many-relationships-5/

      看到 Entity Framework 4.1 推薦英文教程,為了幫大家看起來方便一些,簡單翻譯一下。這是一個系列,共有 8 篇,這是第 5 篇。
       
      1. Entity Framework 4.1 之一 : 基礎
      2. Entity Framework 4.1 之二 : 覆蓋默認的約定
      3. Entity Framework 4.1 之三 : 貪婪加載和延遲加載
      4. Entity Framework 4.1 之四:復雜類型
      5. Entity Framework 4.1 之五:多對多的關系
      6. Entity Framework 4.1 之六:樂觀并發
      7. Entity Framework 4.1 之七:繼承
      8. Entity Framework 4.1 之八:繞過 EF 查詢映射

      這篇文章討論多對多的關系。

      讓我們從最簡單的例子開始。我們讓 EF4.1 來推斷表的映射。我在訂單和雇員之間建模多對多的關系。

      publicclass Order
      {
      publicint OrderID { get; set; }
      [Required]
      [StringLength(
      32, MinimumLength =2)]
      publicstring OrderTitle { get; set; }
      [Required]
      [StringLength(
      64, MinimumLength=5)]
      publicstring CustomerName { get; set; }
      public DateTime TransactionDate { get; set; }
      publicbyte[] TimeStamp { get; set; }

      publicvirtual List<OrderDetail> OrderDetails { get; set; }
      publicvirtual List<Employee> InvolvedEmployees { get; set; }
      }

      publicclass Employee
      {
      publicint EmployeeID { get; set; }
      publicstring EmployeeName { get; set; }

      publicvirtual List<Order> Orders { get; set; }
      }

      我簡單地在訂單表中加入一個雇員的列表,在雇員表中加入了一個訂單的列表。瞧,這是映射到的表。

      現在,我們要控制兩件事:

      • 關聯表的名字
      • 在關聯表中的兩個列名

      通過下面的代碼可以實現:

      modelBuilder.Entity<Employee>()
      .HasMany(e
      => e.Orders)
      .WithMany(e
      => e.InvolvedEmployees)
      .Map(m
      =>
      {
      m.ToTable(
      "EmployeeOrder");
      m.MapLeftKey(
      "EmployeeID");
      m.MapRightKey(
      "OrderID");
      });

      基本上,我們說一個雇員管理多個訂單,每個訂單涉及多個雇員,因此,我們有了多對多的關系。我們的關聯表名為 EmployeeOrder ,左鍵 (從雇員的角度看,是雇員鍵) 名為 employee-id,右鍵名為 order-id。

      這樣,你可以控制沒有直接映射到類的表。

      就使用這種模型而言,則是非常簡單和自然。

      privatestaticvoid ManyToMany()
      {
      using (var context =new MyDomainContext())
      {
      var order
      =new Order
      {
      OrderTitle
      ="Pens",
      CustomerName
      ="Mcdo’s",
      TransactionDate
      = DateTime.Now,
      InvolvedEmployees
      =new List<Employee>()
      };
      var employee1
      =new Employee { EmployeeName ="Joe", Orders =new List<Order>() };
      var employee2
      =new Employee { EmployeeName ="Black", Orders =new List<Order>() };

      context.Orders.Add(order);

      order.InvolvedEmployees.Add(employee1);
      order.InvolvedEmployees.Add(employee2);

      context.SaveChanges();
      }

      在這個例子中,我甚至都沒有在數據上下文中將雇員加入到雇員的集合中,因為他們被引用到訂單的集合中,EF 幫我們完成了。

      posted on 2011-05-08 09:17  冠軍  閱讀(19276)  評論(26)    收藏  舉報

      主站蜘蛛池模板: 日韩中文字幕亚洲精品| 思思久99久女女精品| 麻豆国产va免费精品高清在线| 精品无码专区久久久水蜜桃| 亚洲精品色哟哟一区二区| 韩国无码AV片午夜福利| 97久久精品亚洲中文字幕无码| 国产suv精品一区二区五| 中文字幕国产精品av| 久久中文字幕无码专区| 色先锋av影音先锋在线| 东方四虎av在线观看| 美女网站免费观看视频| 国产一区一一区高清不卡| 日本一区二区不卡精品| 和硕县| 成人一区二区三区久久精品| 男女猛烈无遮挡免费视频APP| 镇雄县| 中文字幕人妻中出制服诱惑| 国产精品无码一区二区三区电影| 人妻中文字幕亚洲精品| 色伦专区97中文字幕| 精品一区二区不卡无码AV| 国产日韩精品中文字幕| 在线a亚洲v天堂网2018| 日本久久久www成人免费毛片丨| 人妻系列无码专区免费| 亚洲爽爆av一区二区| 亚洲精品久久久久国色天香| 久播影院无码中文字幕| 亚洲中文精品一区二区| 黑人大战欲求不满人妻| 日韩中文字幕有码午夜美女| 国产亚洲精品AA片在线爽| 99久久久国产精品免费无卡顿| 久久精品蜜芽亚洲国产AV| 中文字幕v亚洲日本在线电影| 一二三四中文字幕日韩乱码| 国产中文字幕在线一区| 日韩精品一区二区三区在线观看 |