是否可以使用默认构造函数来设置一些默认值,如:
public class BetScreenshot
{
...
public BetScreenshot()
{
CreationDateTime = DateTime.UtcNow;
StatusEnum = BetScreenshotStatus.NotProcessed;
}
}
我的第一个不好的感觉是这些属性可能在EF实体实例化期间被标记为已修改。但可能还有其他的东西吗?
答案 0 :(得分:7)
是的,可以初始化属性。在使用无参数构造函数构造期间,有效地将类型的字段初始化为默认值。你只是选择一个不同的默认值。对于新兴的子实体和集合来说,这是一个非常common practice,但是没有理由不能初始化简单的属性。我为几个实体执行此操作,EF正确地将对象识别为新/未修改。