2013-04-26 47 views
0

一個更好,爲什麼?DataAnnotations與.Map函數數據庫模型映射?

[Table("Bar")] 
public class Bar { 
    [Key] 
    public Int32 BarId { get; set; } 
    public String BarName { get; set; } 

    public IEnumerable<Foo> Foos { get; set; } 
} 

public class BarMap : EntityTypeConfiguration<Bar> { 
    public BarMap() { 
     this.HasMany(t => t.Foos) 
      .WithMany(t => t.Bars) 
      .Map(m => { 
       m.ToTable("FooBarRelationships"); 
       m.MapLeftKey("TheBarId"); 
       m.MapRightKey("TheFooId"); 
      }); 
    } 
} 

我知道第一個被稱爲DataAnnotations,但不知道怎麼才能調用第二個類型。 謝謝

+0

第二類型模式看起來像流利驗證,這是訪問者模式。 – Kelmen 2013-04-26 03:49:35

回答

0

第二個叫做Fluent API(流暢配置)

從我的角度來看,我更喜歡第二個選項,它可以將許多屬性從模型中分離出來。它會使模型更清潔。

+0

但第二個我需要兩個班級嗎?模型和模型圖。我是對的?即使有一個班級,你更喜歡secons模式? – 2013-04-26 03:53:59

+0

@LeandroDeMelloFagundes:無關緊要一個或兩個類,兩個類並不意味着您在應用程序中添加更多複雜功能,這是關注的分離,這是組織和管理代碼的方式。 – 2013-04-26 03:57:53