2008-10-29 3 views
0

내 응용 프로그램에서는 데이터베이스에서 LINQ 개체를 가져 와서 정기적으로 수정 한 다음 db.SubmitChanges()을 입력합니다.오랫동안 행 개체에 "참조"유지

오랫동안 DataContext 개체를 계속 보관하지 않아야한다는 내용을 읽었습니다. 그러나 수정 사이에 내 DataContext 닫으면 데이터 개체를 실제 데이터베이스 행에 대한 링크가 손실됩니다 같아요.

DataContext를 열어 두는 최선의 대안은 무엇입니까? 업데이트 할 때마다 실제로 행을 다시로드해야합니까?

답변

1

그렇지 않은 경우 데이터베이스에 대해 직접 SQL 쿼리를 실행하여 가능한 빨리 업데이트 할 수 있습니다.

동시성 문제 때문에 과도한 비교로 인해 기본 Linq UPDATE 문이 최적이 아닙니다. SQL 프로파일 러를 살펴 보거나 Linq SQL 시각화기를 사용하십시오.

// andy

0

업데이트 할 때 행을 다시로드하면 성능에 큰 타격을 주어서는 안되며 행의 최신 버전을 업데이트해야합니다 (다른 사용자/프로세스가 처음 수정 한 경우를 대비하여 그것을 열었다).

행을 업데이트하는 것이 아무것도 없다면 데이터베이스에 연결이 끊어지지 않고도 많은 문제없이 DataContext를 유지할 수 있습니다.

관련 문제