C# 实体框架:抽象类上的私有Setter

C# 实体框架:抽象类上的私有Setter,c#,.net,entity-framework,C#,.net,Entity Framework,我们有一个抽象类,其中所有属性都有私有setter。在我们的具体派生类中,代码生成器正在创建一个静态的“create”方法,该方法试图设置抽象类的属性。显然,这是失败的,因为设置者是私有的 如何抑制“create”方法的创建?在v3.5中,我认为您不能仅抑制这一部分。但是,它只会尝试设置不可为空/必需的属性。所以我看到了一些选择。没有一个是理想的 在v4.0中,您可以自定义codegen 完全放弃EF codegen,并将其删除 使属性为空 不要将属性放在父类型上。将它们放在子类型上,并使用多态

我们有一个抽象类,其中所有属性都有私有setter。在我们的具体派生类中,代码生成器正在创建一个静态的“create”方法,该方法试图设置抽象类的属性。显然,这是失败的,因为设置者是私有的


如何抑制“create”方法的创建?

在v3.5中,我认为您不能仅抑制这一部分。但是,它只会尝试设置不可为空/必需的属性。所以我看到了一些选择。没有一个是理想的

  • 在v4.0中,您可以自定义codegen
  • 完全放弃EF codegen,并将其删除
  • 使属性为空
  • 不要将属性放在父类型上。将它们放在子类型上,并使用多态性接口
  • 不要把这些财产变成私人财产

  • 在v3.5中,我认为不能仅抑制这一部分。但是,它只会尝试设置不可为空/必需的属性。所以我看到了一些选择。没有一个是理想的

  • 在v4.0中,您可以自定义codegen
  • 完全放弃EF codegen,并将其删除
  • 使属性为空
  • 不要将属性放在父类型上。将它们放在子类型上,并使用多态性接口
  • 不要把这些财产变成私人财产