2012-12-20 2 views
0

4 단계에서 마법사와 비슷한 웹 사이트가 있습니다. 이 사이트는 asp.net 웹 양식으로 구현됩니다. 마법사가 빌드하고 개체를 만들어 DB에 추가합니다. 객체 그래프를 따르는 : 아시다시피asp.net의 다중 엔터티 프레임 워크 컨텍스트

class A { B bObject ; C cObject ; D dObject} 
class B {} ; class C{}; class D{}; 

오브젝트의 B, C, D 마법사 단계 동안 데이터베이스로부터 페치 및 A. 에 충전, B, C에 의한 DB에서 D 페치 다른 컨텍스트. A를 DB에 저장하기위한 마지막 단계로 넘어갈 때 컨텍스트는 b, c, d를 새로운 객체로 인식하고 수정되지 않은 것으로 인식하므로 컨텍스트가 서로 다르므로 링크합니다.

이 문제를 해결하기위한 올바른 방법을 제안하십시오.

포스트 팩으로 인해 서로 다른 컨텍스트가 발생했습니다.

답변

1

가장 좋은 대답은 "을 수행하지 마십시오.!"입니다.

이 문제를 처리하는 한 가지 방법은 사용자가 데이터베이스 테이블을 만드는 데 필요한 모든 데이터를 마법사 단계에서 수집하고 세션 상태로 데이터를 저장하는 것입니다. 마지막 마법사 단계가 실행될 때만 세션 상태에서 데이터를 가져 와서이를 사용하여 EF 엔티티를 만든 다음 변경 사항을 단일 컨텍스트에 저장합니다.

개체 그래프를 EF 개체 (여전히 세션 상태)로 저장하고 마지막 마법사 단계에서 Attach 메서드를 사용하여 개체를 현재 컨텍스트에 첨부합니다. 다시 말하지만, 이것은 단일 컨텍스트를 사용합니다.

+0

감사합니다. 두 번째 옵션이 저에게 더 깨끗해 보입니다. – Wasim

관련 문제