EF4와 내장 된 자체 추적 엔터티 템플릿을 사용하여 모델에서 내 엔터티를 생성합니다. 또한 "ObjectContext"에 대한 모든 참조가 "IObjectContext"로 변경되도록 T4 템플릿을 수정했으며 자동 생성 된 컨텍스트 (이 모든 것은 테스트 및 조롱 목적)에 인터페이스를 적용했습니다.엔터티 프레임 워크 4, 자체 추적 엔터티 T4 템플릿, ApplyChanges() 확장 메서드
//my interface
public interface IDatabaseEntities
{
IObjectSet<Customer> Customers {get;}
int SaveChanges();
}
//self tracking entity auto gen code, with my mods
public partial class DatabaseEntities : ObjectContenxt, IDatabaseEntities
{
//auto gen stuff here
public IObjectSet<Customer> Customers
//more auto gen stuff
}
T4 템플릿에서는 "ObjectSet"유형의 개체에서만 작동하는 확장 메서드 인 ApplyChanges()를 생성합니다. 그래서 나는 "_context.Customers.ApplyChanges (customer)"라고 부를 수 없다. " 왜냐하면 나는 "IObjectSet"유형으로 작업하기 때문입니다. 분리 된 엔터티를 업데이트하려면이 메서드를 호출해야합니다. 이제 구체적인 ObjectSet 클래스로 작업하지 않기 때문에 엔티티를 업데이트하는 방법을 알 수 없습니다.