2009-11-29 6 views
0

전체 ObjectContext.SaveChanges()가 아닌 Entity Framework를 사용하여 저장되는 내용을 세부적으로 제어 할 수있는 방법을 찾고 있습니다. 내 시나리오는 꽤 똑바로, 나는 꽤 EF에 음식을 장만하지 않아서 놀랐다 - NHibernate와 내가 본 모든 다른 데이터 액세스 패러다임에서 꽤 기본. WPF UI에서 많은 데이터를 생성하고 사용자가 제안 된 것을 미세하게 조정하고 실제로 데이터베이스에 커밋 된 것을 선택하도록 허용합니다. 제안 된 개체를 들어 난 :전체 컨텍스트 대신 단일 엔터티 저장 - 다시 방문

  1. 내 ObjectContext를 통해 참조 엔티티 (예 : 언어)의 무리를 받고,
  2. 제안 된 엔티티를 생성하고하여, 그래서 (탐색 속성으로) 그들에게 이러한 참조 엔티티를 할당 암시 적으로 객체에 추가 된 참조 엔티티와의 관계 미덕
  3. &을 만들려고하면 제안 된 엔티티를 기반으로 개별 엔티티를 저장하려고합니다.

나는이 사소한 & 정말 간단해야 내려고하지만, 모든 나도 내가 다른 ObjectContext는 & 내가 필요 단지 개체를 추가 설정, 내가 벽돌 벽에 충돌했습니다 시도했다가 (그 다음 전체를 추가하려고 그래프와 다른 objectcontext에 실패). MergeOptions = NoTracking을 참조 엔티티에 사용하여 Attach/AddObject를 탐색하여 그래프, 무효를 탐색하지 않도록했습니다. 참조 엔터티에서 탐색 속성을 제거했습니다. AcceptAllChanges를 시도했는데 실제로는 작동하지 않지만 실제로는 쓸모가 없습니다. & 다른 엔티티를 저장하려고합니다. 간단한 테스트에서, 내가 제안한 엔티티 중 2 개를 만들 수 있는데 AddObject는 내가 저장하고 싶습니다. 그런 다음 분리 작업을 수행하여 SaveChanges를 호출합니다. 실제로는 작동하지만 다시는 좋지 않습니다. 다음은 마지막에는 도움이되지 않지만 너무 단순한 EF의 복잡성을 보여주는 훌륭한 아이디어에 대한 몇 가지 링크입니다. SaveSingle/SaveAtomic 메소드를 찾고 있는데, 상당히 합리적이라고 생각합니다. & 기본 DAL, letalone을 최첨단 ORM으로 요청합니다.

  • Saving a single entity instead of the entire context
  • www.codeproject.com/KB/architecture/attachobjectgraph.aspx?fid=1534536 & DF = 90 & MPP = 25 & 소음 = 3 & 종류 = 위치 &보기 = 빠른 & 선택 = 3071122 & FR = 1
  • bernhardelbl.spaces.live.com/blog/cns!DB54AE2C5D84DB78!238.entry

답변

1

나는거야 ANS 이것을 나 자신으로해라. - sofar 나는 EF1에 대한 해결책을 찾지 못했다. EF4를 사용하면 자체 추적 엔티티로이를 구현할 수 있습니다. T4 템플릿을 사용하여 자신의 클래스를 롤백해야하므로 약간의 학습 곡선이 있습니다 (맨 끝의 링크 참조).

지금 우리는 우리 도메인 객체 인터페이스를 제공하기로 결정했습니다. (이 사실은 nhibernate/wcf에서 poco 클래스로 작업하는 것이 정말 마음에 들었습니다.) 그리고 우리가 작업하는 '제안 된' 사용자가 데이터베이스에 커밋하기로 결정할 때까지 EntityObject에 매핑합니다. 여기

일부 실제 답변 :
http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/32b04a36-0579-4d6f-af48-9cb670a3d9ff

관련 문제