2012-06-20 20 views
0

我們舉一個簡單的例子。假設我有以下幾點:在EntityFramework(EF)中我怎樣才能綁定僅來自導航屬性的ID?

public class Category 
{ 
    public int CategoryID {get;set;} 
} 

public class Product 
{ 
    public int ProductID {get;set;} 
    public int CategoryID {get;set;} 
    public Category Category {get;set;} 
} 

EF

modelBuilder.Entity<Product>().HasRequired(req=>req.Category).WithMany().Map(m=>m.MapKey("CategoryID")); 

我必須總是「包括」類別只是爲了獲得類別ID分配給我的產品?不包含.Include(例如db.Products.All())而生成的SQL實際上將返回CategoryID。

回答

1

您需要。包括填充類別導航屬性(否則它將爲空)。 CategoryID屬性將始終填充