내 엔티티 프레임 워크 모델 (ObjectContext와 함께 EF 6.1 사용)에는 다양한 탐색 속성으로 지연로드가 설정되어 있습니다. 내가 가진,엔티티 프레임 워크 - 엔티티 분리 후 탐색 속성 복원
MyContext.Detach(order1);
MyContext.Detach(order2);
MyContext.Detach(order3);
을하지만 :
내 응용 프로그램에서// Orders is a navigation property (collection), which, when first iterated,
// loads the collection of Order entities from the DB
var orders = Customer.Orders.ToList();
는 성능상의 이유로, 나는 Order
개체를 분리하고 쓰레기를 수집 할 수 있도록 할 수 있도록하려면 : 예를 들어
하위 엔티티의 하위 세트 만 분리하면 (즉 모든 세트가 아닌 경우) Customer.Orders
의 다음 반복이 작동하지 않습니다. 분리 된 엔티티는 반환 된 콜렉션의 일부가 아닙니다.
나는 Customer.Orders
탐색 속성을 복원하고 다시 그 이전에 분리를 포함한 모든 개체를 다시 부착을 강제로이 상황에서 제대로 작동하도록하기 위해 쓸 수있는 어떤 코드 ?
내가 수동으로 false
-Customer.Orders.IsLoaded
설정을 시도했다, 그러나 그것은 작동하지 않습니다 - 엔티티가 다시로드되지 않으며, 어딘가 EF 후드 IsLoaded
에서 단순히 true
로 다시 설정됩니다.
당신은 LoadProperty 방법을 사용할 수 있습니까? – DevilSuichiro
성능상의 이유로 엔티티를 분리해야하는 경우 * 문제가 아키텍처의 더 깊은 레벨에 있다고 느낍니다. 더 구체적으로 말하면, 너무 오래 사는 문맥. –