实体框架POCO默认构造函数

时间:2011-08-25 12:37:17

标签: .net entity-framework

是否可以使用默认构造函数来设置一些默认值,如:

public class BetScreenshot
{
   ...

   public BetScreenshot()
   {
       CreationDateTime = DateTime.UtcNow;
       StatusEnum = BetScreenshotStatus.NotProcessed;
   }
}

我的第一个不好的感觉是这些属性可能在EF实体实例化期间被标记为已修改。但可能还有其他的东西吗?

1 个答案:

答案 0 :(得分:7)

是的,可以初始化属性。在使用无参数构造函数构造期间,有效地将类型的字段初始化为默认值。你只是选择一个不同的默认值。对于新兴的子实体和集合来说,这是一个非常common practice,但是没有理由不能初始化简单的属性。我为几个实体执行此操作,EF正确地将对象识别为新/未修改。