我使用 EF 4.3.1 我需要在保存时添加实体的默认值。
目前我正在使用 SaveChanges() 并且它有效。
从我使用的代码中可以看出,ChangeTracker.Entries<Option>()
其中Option
rappresent 是一个特定的 DataType。
我想知道是否可能以及如何编写更通用的 ChangeTracker.Entries 版本,ChangeTracker.Entries<t>()
以便它可以检查我的模型中的所有类型的实体,正如您在我的特定案例中看到的那样,我在许多类上都有一个 NoteInternal 属性
public override int SaveChanges()
{
#region Option BL
var entities = ChangeTracker.Entries<Option>()
.Where(e => e.State == EntityState.Added ||
e.State == EntityState.Modified)
.Select(e => e.Entity);
// Add Default values when Creating or Editing an Entity
string defaultvalue = "";
foreach (var entity in entities)
{
if (String.IsNullOrWhiteSpace(entity.NoteInternal))
entity.NoteInternal = defaultvalue;
}
#endregion
return base.SaveChanges();
}
谢谢你的帮助!
PS:在这里使用 DYNAMIC 数据类型有意义吗?