2009-07-08 3 views
2

Entity Framework를 통해 데이터베이스와 통신하는 WPF 응용 프로그램을 개발 중이며 응용 프로그램을 응답 성있게 유지하려고 할 때 큰 문제가 있습니다. DataContext는 스레드로부터 안전하지 않으므로 백그라운드 스레드에서 데이터 액세스를 할 수 없습니다. 개체 추적으로 인해 DataContexts간에 개체를 전달할 수는 없습니다. (나는 항상 일종의 일을하지만 모든 경우에 적용되지 않습니다.)Entity Framework를 사용한 비동기 프로그래밍

데이터 액세스가 진행되는 동안 내 응용 프로그램의 응답 속도를 유지하고 싶습니다. 이 작업을 수행하기 위해 Entity Framework에서 사용한 패턴은 무엇입니까?

감사합니다,
로이

+0

[Entity Framework 4.0을 사용해야합니까?] (http://izlooite.blogspot.com/2011/04/should-i-ever-use-entity-framework-40.html) –

답변

0

EF의 아직 (적어도 잘 나) 게으른 로딩을 구현하지 않는, 즉 성능 문제의 일부가 될 수 있도록. 계층화 된 쿼리 (쿼리의 맨 위에있는 쿼리) 때문에이 문제가 발생합니다.

꽤 정교한 작업을하려는 것 같습니다. Select, Update, Commit과 같은 거래 관점에서 더 많은 것을 생각해보십시오. 신규, 삽입, 커밋; 선택, 삭제, 커밋.

주어진 저장소 또는 스레드 내에서 항상 하나의 DataContext로 작업하십시오. 데이터 컨텍스트 내에서 객체를 전달하는 것은 알 수 있듯이 어렵습니다. 그러나 동일한 데이터 컨텍스트 내의 산들 바람이어야합니다.

관련 문제