Entity framework 应用前的DbContext操作

Entity framework 应用前的DbContext操作,entity-framework,dbcontext,Entity Framework,Dbcontext,我有两个实体继承了基类和公共字段,如下所示: [DataType(DataType.Text)] [StringLength(100)] public string CreatedBy { get; set; } [DataType(DataType.DateTime)] public DateTime? CreatedDate { get; set; } [DataType(DataType.Text)] [StringLength(100)] public string Modified

我有两个实体继承了基类和公共字段,如下所示:

[DataType(DataType.Text)]
[StringLength(100)]
public string CreatedBy { get; set; }

[DataType(DataType.DateTime)]
public DateTime? CreatedDate { get; set; }

[DataType(DataType.Text)]
[StringLength(100)]
public string ModifiedBy { get; set; }

[DataType(DataType.DateTime)]
public DateTime? ModifiedDate { get; set; }
我想在进入contex之前填充这些字段。是否有一些事件/方法/处理程序,我可以重用这些事件/方法/处理程序来对实体执行一些操作,然后再将其放置到上下文中? 我希望这些字段在添加到上下文时填充,而不是放在数据库中


解决方案:

在这些字段进入数据库之前,无法100%确定将其填入上下文是什么意思。。但是,如果您想在某个时刻持久化它们,这些字段应该是对象(实体)的一部分,然后您可以使用setter方法填充poco。您可以随时调用context.Save()/Update()方法

例如,我创建了一个实体。此实体(以及许多其他实体)继承具有指定字段的基类。因此,我不想为每个实体手动填充这些属性。我更喜欢将填充逻辑(对于这4个属性)放在DbContext的祖先中的处理程序中,以透明地填充它,不再考虑它。使用基类的构造函数并将这些值设置为默认值。以下类似的帖子可能会帮助您-(查看第二个和第三个答案)(查看接受的答案)那不是我想要的。我不需要设置默认值。我认为您需要的是在保存日期之前自动填充日期。我想这就是你要寻找的答案,答案是在默认构造函数中使用setter方法。基本上和我建议的一样。