我正在開發代碼第一個EF6應用程序,我有一個包含相關實體的問題。實體框架 - 替換相關實體不包括
我有模式是這樣的:
public class Product
{
[Key]
[JsonProperty(Order = 0)]
[JsonIgnore]
public int ProductID { get; set; }
[Required]
[JsonProperty(Order = 1)]
public string Name { get; set; }
[Required]
[JsonProperty(Order = 2)]
public virtual Shop Shop { get; set; }
[Required]
[JsonProperty(Order = 3)]
public virtual ProductCategory Category { get; set; }
[Required]
[JsonProperty(Order = 4)]
public double Price { get; set; }
[JsonProperty(Order = 5)]
public double? OldPrice { get; set; }
}
我的上下文有DBSets,如:
public System.Data.Entity.DbSet<PromoCeny.Models.Product> Products { get; set; }
public System.Data.Entity.DbSet<PromoCeny.Models.ProductCategory> ProductCategories { get; set; }
public System.Data.Entity.DbSet<PromoCeny.Models.Shop> Shops { get; set; }
我試圖訪問所有Product
對象,如:
db.Products
我正在獲取Products
的列表,但是兩個屬性Shop
和Category
是null
這很奇怪,但我有一個工作解決方案,在這樣的東西結果適當的對象(與所有屬性設置正確),但我找不到這些項目之間的區別。
我試圖從模型屬性中刪除virtual
標誌,但這也不起作用。
當然,我可以得到產品的列表,如:
db.Products.Include(product => product.Shop).Include(product => product.Category)
但我想避免這種情況。
你知道如何處理嗎?
編輯:
剛纔我想通了,我有實體的禁用延遲加載。
我已刪除,如:
this.Configuration.LazyLoadingEnabled = false;
從語境和它的工作現在。
我已經想通了。看我的編輯 – Tomasz 2014-09-26 14:14:19