2014-12-28 3 views
0

컨텍스트에서 분리 된 엔티티를 AsNoTracking()으로 어떻게 업데이트 할 수 있습니까?엔티티 프레임 워크가 추적 엔티티를 업데이트하지 않습니다.

public virtual void Update(T entity) 
    {    
     dbset.Attach(entity); 
     dataContext.Entry(entity).State = System.Data.Entity.EntityState.Modified; 
    } 

나는 데이터 컨텍스트에 의해 연결되어 이전 개체를 찾을 수 : 수정

var _agency = agencyRepository.Get(filter: a => a.Id == agency.Id) 
           .AsQueryable() 
           .AsNoTracking() 
           .FirstOrDefault(); 
agencyRepository.Update(_agency); 

내 업데이트 방법은 이미 설정? 또는 내 사용자 엔티티에서 추적을 방지하기위한 제안 사항이 있습니까?

ctx.Entry(_agency).State = System.Data.Entity.EntityState.Modified; 
ctx.SaveChanges(); 

더 읽기 this 또는 this 기사 :

+0

무엇이 바뀌고 있으며 실제 결과는 무엇입니까? – haim770

+0

실제로 동일한 유형의 다른 엔티티가 이미 동일한 기본 키 값을 가지고 있기 때문에 "Project.Domain.Entities.Agency '유형의 엔티티를 첨부하는 중 오류가 발생했습니다. Update()에서이를 분리하려고했습니다. 엔티티는 문제를 해결하지만 업데이트는 아무 것도하지 않습니다. – Azarsa

+0

Entry 메소드가 Entity를 이미 내부적으로 첨부하고 있기 때문에 (첨부되지 않은 경우)'Attach'를 호출 할 필요가 없습니다. – haim770

답변

3

당신은 엔티티의 상태를 변경할 수 있습니다.

+0

내 업데이트 방법이 이미 수정되었습니다. – Azarsa

관련 문제