2010-07-18 60 views

回答

1

您可以使用ObjectContext事件SavingChanges,检索具有状态EntityState.Added的实体,并为这些对象设置DateCreated。您可能需要一个帮助程序接口来促进更多不可知的处理程序,并避免使用反射。您可能也可以使用动态,虽然您将运行抛出运行时异常的机会,这会损害性能:

private void context_SavingChanges(object sender, EventArgs e) 
{ 
    ObjectContext context = sender as ObjectContext; 
    if (context != null) 
    { 
     foreach (ObjectStateEntry entry in context.ObjectStateManager.GetObjectStateEntries (EntityState.Added) 
     { 
      IEntityWithTimestamps entity = entry.Entity as IEntityWithTimestamps; 
      if (entity != null) 
      { 
       entity.DateCreated = DateTime.Now; 
      } 
     } 
    } 
}