我使用EF 4.3.1我需要在保存時添加一個實體的默認值。覆蓋DbContext SaveChanges
目前我正在使用SaveChanges(),它的工作原理。
正如您從代碼中看到的,我使用ChangeTracker.Entries<Option>()
,其中Option
表示特定的DataType。
我想知道是否有可能以及如何編寫ChangeTracker.Entries類似於ChangeTracker.Entries<t>()
的更通用版本,以便它可以檢查我的模型中的所有類型的實體,就像您在我的特定情況下可以看到的那樣我擁有注很多類的內部屬性
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數據類型是否合理?
你能提供給我的代碼條目(樣本),並使用LINQ的OfType()???? –
GibboK
添加了一段代碼作爲編輯。 –
謝謝,我真的很感激! – GibboK