2011-05-13 69 views
1

我有一個實體類(首先使用模型,如果重要的話)應該保留自己的最後更改日期。保存更新對象

有沒有辦法在保存時進行更新?現在我只發現覆蓋OnPropertyChanged但這不是正確的重寫,因爲它也被稱爲加載對象時。

回答

2

您可以在ObjectContext派生類上重寫SaveChanges,並在保存前修改上次更改日期。例如:

public override int SaveChagnes(SaveOptions saveOptions) 
{ 
    var entities = ObjectStateManager.GetObjectStateEntries(EntityState.Modified) 
            .Where(e => !e.IsRelationship) 
            .Select(e => e.Entity) 
            .OfType<YourEntityType>(); 

    var currentDate = DateTime.Now; 
    foreach(var entity in entities) 
    { 
     entity.LastChangedDate = currentDate; 
    } 

    return base.SaveChanges(saveOptions); 
}