1

Npgsql 공급자 (VS2010 - .NET 4 대상)에서 Entity Framework, 모델링자가 추적 엔티티를 사용하고 있습니다.Entity Framework에서 업데이트 문의 영향을받는 행을 검색하는 방법

나는 낙관적 동시성 예외를 추적하기 위해 노력하고있어,하지만 내 문제가 빨리 해결로 엔티티의 열이 표시되는 등의 OptimisticConcurrencyException가 발생되는 경우에도 영향을받는 행> 0

후 경우 일부 파고 exposed here, 나는 왜 엔터티 프레임 dbCommand.ExecuteReader(CommandBehavior.SequentialAccess)dbDataReader.Read()dbCommand.ExecuteNonQuery() 대신 간단한 업데이트 문을 때 업데이트 명령을 발행하고 알고 싶습니다?

UPDATE "schema"."table" 
SET "bool_column" = FALSE 
WHERE ("id" = 7526) AND ("xmin" = 1249804) 

감사합니다.

답변

1

검색 할 계산 열 (StoreGeneratedPattern = "Computed"또는 "Identity")이 있으면 기본 공급자가 INSERT 또는 UPDATE 문 바로 뒤에 SELECT 문을 실행해야합니다.

Npgsql은 현재 INSERT 작업 중 SERIAL 만 지원합니다. UPDATE 작업 중 계산 열 검색을 지원하지 않습니다. 소비자는 Refresh (RefreshMode.StoreWins, entity)를 호출하여 데이터 소스에서 값을 가져와야합니다.

이는 현재 Optimistic Concurrency가 현재 버전의 Npgsql 공급자에서 지원되지 않는다는 것을 의미합니다.

관련 문제