2009-04-20 2 views
0

도메인 객체를 linq 엔티티에 매핑하면 도메인 객체를 저장할 때 변경 사항을 추적 할 수 없습니까? 그래서 내 모델의 모든 변경 사항에 대해 일단 db에 제출하기 위해 linq 엔티티에 개체를 매핑하면 모든 개체 값이 먼저 매핑을 거치기 때문에 linq에 의해 db에 제출됩니다. 아니면 여기서 추적되는 객체가 여전히 활용 될까요?Linq 엔티티와 도메인 객체 및 객체 추적 매핑

답변

1

사용중인 O/R 맵퍼에 따라 다릅니다. 엔티티 프레임 워크는 엔티티 내부에서 변경 내용을 추적하지 않으므로 이전에 db에서 가져온 엔티티를 다시 연결할 때 도움이 필요합니다. 따라서 새로운 것이 아니라는 것을 알 수 있습니다.

+0

linq to sql이 (가) 추적하고 있습니다. 그러나 도메인을 엔티티로 다시 매핑 할 때 그것이 변경되지 않았더라도 모든 것이 변경된 것으로 간주합니다. 엔티티에게 실제 변경 사항을 알려주지 않거나 그 반대의 경우를 알려주는 방법? – zsharp

+0

아래의 답변보기, David –

1

다층 환경에서의 CRUD 작업에 대한 설명은 article from microsoft입니다 (도메인 매핑 시나리오와 유사한 문제).

직접 변경 추적을 수행하는 방법에 대해서는 전체 엔티티로 업데이트를 확인하십시오.

엔티티를 수정되지 않은 상태로 첨부 한 다음 .Refresh()를 Keep Current Values과 함께 사용하여 원본을 바꾸는 다른 방법이 있습니다. 이렇게하면 데이터베이스 라운드 트립을 희생하여 적절하게 삽입/업데이트/수행 할 수 있습니다.