我可以更改实体框架数据库第一个自动生成的类(在.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;
}
}
在这些部分类的顶部,我看到了以下警告:
手动更改此文件可能会导致应用程序出现意外行为。
答案 0 :(得分:1)
你打算先编写代码吗? 你需要再次重生吗?
如果您知道这些问题的答案。或者至少考虑过这种影响 见Reverse engineer code first to existing DB
这可以为您提供一个可以从
开始的模型否则: 部分类方法可能会有所帮助。上次我尝试(EF4)生成的代码是部分的。 您只保留生成的类并添加部分部分
public partial class MyGeneratedClass : SexyBaseObject
{
//...
}