<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)    收藏  舉報

      主站蜘蛛池模板: 精品人妻中文字幕在线| 不卡国产一区二区三区| 国产一级片内射在线视频| 松滋市| 综合人妻久久一区二区精品| 国产精品一级久久黄色片| 伊人久久精品一区二区三区| 免费无码一区无码东京热| 国产精品一区二区三区91| 精品一区二区成人精品| 临泉县| 国产区精品视频自产自拍| 综合色一色综合久久网| 噜噜噜噜私人影院| 国产AV无码专区亚洲AWWW| 日本一区三区高清视频| 国产日韩精品免费二三氏| 九九久久精品国产免费看小说| 狠狠爱俺也去去就色| 蜜桃无码一区二区三区| 精品人妻二区中文字幕| 亚洲成av人片无码迅雷下载| 福利视频在线一区二区| 亚洲爆乳少妇无码激情| 国产成人午夜福利在线播放| 色噜噜亚洲男人的天堂| 久久一日本道色综合久久| 香蕉在线精品一区二区| 免费A级毛片樱桃视频| 日韩三级一区二区在线看| 亚洲av一本二本三本| 综合在线 亚洲 成人 欧美| 精品日韩人妻中文字幕| 中文字幕精品人妻丝袜| 久久热这里只有精品66| 波多野结衣高清一区二区三区| 国产精品成人国产乱| 国产福利视频区一区二区| 99久久久国产精品免费无卡顿| 色偷偷www.8888在线观看| 人妻aⅴ无码一区二区三区|