更改实体框架数据库首先自动生成域类

本文关键字:自动生成 数据库 实体 框架 | 更新日期: 2023-09-27 17:55:15

我可以更改实体框架数据库第一个自动生成的类(在 .tt 下)以派生自基类 (BaseEntity) 吗?

我的一些域类有两个属性(CreateDateTime 和 CreateUserId),我想在 SaveChanges() 之前使用以下代码自动设置此属性:

private void AuditFields()
{
    foreach (var entry in this.ChangeTracker.Entries<BaseEntity>().Where(x => x.State == System.Data.EntityState.Added))
    {
        entry.CreateDateTime = DateTime.Now;
        entry.CreateUserId = CurrentUser.Id;
    }
}

在这些分部类的顶部,我看到了以下警告:

手动更改此文件可能会导致应用程序中出现意外行为。

更改实体框架数据库首先自动生成域类

你打算先去编码吗?你需要再次再生吗?

如果你知道这些问题的答案。或者至少考虑了影响。
请参阅首先对现有数据库进行反向工程代码

这为您提供了一个可以从中开始的模型

否则:部分类方法可能会有所帮助。上次我尝试(EF4)时,生成的代码是部分的。您不理会生成的类并添加部分部分

public partial class MyGeneratedClass : SexyBaseObject 
{
//...
}