实体框架CTP4代码优先:映射受保护的属性

zrg*_*zrg 5 c# code-first entity-framework-4

我想在模型上使用延迟加载集合,但我希望通过单独的方法完成添加/删除功能.所以像这样:

class Model
{
  protected virtual ICollection<Something> _somethings { get; set; }

  public IEnumerable<Something> Somethings 
  { 
    get { return _somethings; } 
  }

  public void AddSomething(Something thingToAdd)
  {
    /*  logic */
    _somethings.Add(thingToAdd);
  }
}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何为此配置映射.我研究了使用配置类:EntityConfiguration.但由于该属性受到保护,我无法弄清楚如何在其上设置配置.有没有办法完成我在这里要做的事情?

小智 0

我想如果您在 Model 类中声明配置类(继承 EntityConfiguration),它就可以工作。这不是一个很好的解决方案,因为通常不鼓励子类化,但这是我唯一能想到的。