2012-06-27 2 views

답변

3

. SaveChanges()이 실행될 때

context.SavingChanges += context_SavingChanges; 

이 원본과 현재 값에 액세스 할 수 있습니다 : 당신이 DbContext와 함께 작업하는 경우

private void context_SavingChanges (object sender, EventArgs e) 
{ 
    ObjectContext context = sender as ObjectContext; 
    if (context != null) 
    { 
     foreach (ObjectStateEntry entry in context.ObjectStateManager 
           .GetObjectStateEntries(EntityState.Modified)) 
     { 
      // TODO: do some logging with these values. 
      entry.OriginalValues; 
      entry.CurrentValues; 
     } 
    } 
} 

당신은으로 이벤트에 얻을 수

((IObjectContextAdapter)this).ObjectContext.SavingChanges 
+0

이 우연히 일어난 이 대답. 보다 적절한 적용을 위해 늦은 편집을했습니다. –

+1

나는 트리거 이벤트를 제공하는 라이브러리를 작성했다. 희망은 누군가를 돕는다! https://github.com/NickStrupat/EntityFramework.Triggers –

관련 문제