我是一个非常奇怪的行为与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