2011-05-16 2 views
1

저장하기 전에 특정 엔티티 집합에 변경된 사항이 있는지 검색하려고합니다.엔티티 프레임 워크 : 특정 엔티티에서 저장할 변경 사항이 있는지 확인하십시오.

현재이 메서드를 사용하고 있지만 컨텍스트에서 수정 된 엔터티가 있으면 true를 반환합니다.

const EntityState ModifiedID = EntityState.Modified 
          | EntityState.Added 
          | EntityState.Deleted; 

var objectStateEntries = Database.LabelTAB 
          .Context.ObjectStateManager 
          .GetObjectStateEntries(ModifiedID); 

return objectStateEntries.Any(); 

전체 Context에 단지 LabelTAB 엔티티의 일부 저장되지 않은 항목이있는 경우 감지 할 수있는 방법이 있습니까, 그리고?

감사합니다.

답변

2

이 시도 :

var objectStateEntries = Database.LabelTAB 
           .Context 
           .ObjectStateManager 
           .GetObjectStateEntries(ModifiedID) 
           .Where(e => e.Entity is LabelTAB); 

return objectStateEntries.Any(); 
0

사용 :

var states = new List<EntityState>() { EntityState.Modified, 
             EntityState.Added, 
             EntityState.Deleted}; 

var query = from t in Database.LabelTAB 
      where states.Contains(t.EntityState); 

각 엔티티는 EntityState 속성이 있습니다. ObjectContext를 쿼리하는 대신 엔티티에서 속성을 사용할 수 있습니다.