我是一個非常奇怪的行爲與EF代碼的第一種方法和關聯。我有兩個實體:實體框架4.3與所需的關聯
public class GlobalKpiSectionn
{
public GlobalKpiSection()
{
this.Regions = new HashSet<Region>();
}
public virtual ICollection<Region> Regions { get; protected set; }
}
public class Region
{
public int RegionId { get; set; }
public bool IsMain { get; set; }
[Required]
public virtual GlobalKpiSection KpiSection { get; set; }
}
我需要KiSection屬性的必需屬性才能獲得級聯刪除。
的問題如下 - 在此代碼:
var mainRegion = context.Regions.Single(x => x.RegionId == id);
mainRegion.IsMain = true;
context.SaveChanges();
我得到不同的是必填字段未初始化。但它是目前只是沒有加載。當我使用這個實體時,我不會寫處處明確包含的屬性。我能做些什麼來克服這一點?
UPDATE
之所以我敢肯定它的延遲加載的問題是:
var primaryRegion = context.Regions
.Include(x => x.KpiSection)
.Single(x => x.RegionId == id);
解決了這個問題,但它絕對可怕的解決方案。
你有使用的配置類一對多的關係模型? – Jayanga 2012-02-16 11:20:04
不,按照約定映射 – Sly 2012-02-16 11:21:22
我認爲在Fluent API中使用配置類將是一個很好的解決方案 – Jayanga 2012-02-16 11:26:31