편집 :Should Entity Framework Context be Put into Using Statement?엔티티 프레임 워크 : 내 오브젝트 컨텍스트를 폐기하지 않으면 어떤 부작용이 발생할 수 있습니까?
내가 나쁜 제대로 내 개체 컨텍스트를 폐기하고는 GC와 함께 죽을 허용하지 않음으로써 발생할 수 있는지 궁금 약간의 시간이 아이디어를 주위에 던져 봤는데의 중복. 일반적으로, 나는 이것을 피할 것이지만 그것을 할 타당한 이유가있다.
우리는 부분 클래스를 사용하고 있습니다. 이러한 부분 클래스에서는 FK 객체에 액세스하는 속성을 노출합니다. 예를 들어 CustomerType FK 객체가있는 Customer 클래스가 있다고 가정 해 봅시다. 원래 쿼리가 .Include ("CustomerType")를하지 않은 경우
public string CustomerTypeName {
get {
if (CustomerType == null) {
CustomerTypeReference.Load()
}
return CustomerType.CustomerTypeName;
}
}
이 매우 편리 밖으로 작동 : 클래스에서,이를 수행하는 CustomerTypeName 속성을 노출합니다.
그러나 컨텍스트를 삭제하면 위의 속성이 더 이상 작동하지 않습니다. 그래서 ... 이것이 두 가지 질문으로 이어질 것 같습니다 :
1) 명시 적으로 컨텍스트를 처분하지 않으면 어떤 음란물이 있을까요?
2) 위의 시나리오에서 지연로드를 수행하고 컨텍스트를 처리하는 다른 방법이 있습니까?
저를 수정하는 데 도움이,하지만 내 GUI에서 컨텍스트를 추적해야 할 것 의미 할 것입니다. 계층화 된 아키텍처에서는 조금 더러운 느낌입니다. – bugfixr
더 이상 무시하고 그것을 버릴 희망보다 더러운 :) – gbjbaanb
어쨌든 당신은 GUI에서 그것과 상호 작용하고 있습니다. 그것을 처분 함으로서 당신은 당신이 그것으로 끝났다고 자원에게 말하고 있습니다. 정의에 따르면 게으른로드가있을 경우 아직 완료하지 않은 것입니다. 간단한 IComponent 래퍼를 만들고 폼 컴포넌트에 추가하기 만하면 또 다른 걱정이나 코드 라인이 없어도 정리할 수 있습니다. –