2015-06-10 107 views
0

我用Entity Framework 6.1構建我的數據層類庫。我創建了我的上下文,並試圖執行模型生成器代碼(或者它是在我執行Add-Migration時派生的嗎?)HasMany和WithRequired擴展方法未找到

無論如何,我已經看到了相當多的例子,但是當我嘗試使用.HasMany或.WithRequired modelBuilder.Entity()情況下,他們不會出現在智能感知。我缺少什麼?

回答

1

Entity<T>方法是通用(DbModelBuilder.Entity),因此,你需要指定你想開始您的配置T類型,例如:

public class Foo 
{ 
    public in Id{get;set;} 

    public in BooId{get;set;} 

    public virtual Boo Boo{get;set;} 
} 

public class Boo 
{ 
    public in Id{get;set;} 

    public virtual ICollection<Foo> Foos{get;set;} 
} 

並且在OnModelCreating方法上的配置將是:

modelBuilder.Entity<Foo>().HasRequired(f=>f.Boo).WithMany(b=>b.Foos).HasForeignKey(f=>f.BooId); 
+0

這就是我正在使用的,通用的方法,但現在我看到.With *()擴展方法只出現在HasRequired –