저는이 문제로 고통스러워하고 있습니다. 누군가 도와 주면 대단히 감사하겠습니다.Linq에서 SQL 업데이트로의 ChangeConflictException
데이터베이스의 단일 테스트 테이블에 DataContext가 첨부되어 있습니다. 업데이트를 항상 빈으로 ChangeConflictException을 얻을 - Linq에 사용
CREATE TABLE [dbo].[LinqTests](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[StringValue] [varchar](255) NOT NULL,
[DateTimeValue] [datetime] NOT NULL,
[BooleanValue] [bit] NOT NULL,
CONSTRAINT [PK_LinqTests] PRIMARY KEY CLUSTERED ([ID] ASC))
ON [PRIMARY]
, 나는 검색 및 테스트 테이블에서 행을 삭제, 추가 할 수 있습니다,하지만 난 행을 업데이트 할 수 없습니다 다음과 같이 테스트 테이블입니다 ObjectChangeConflict.MemberConflicts 컬렉션입니다. 사용 된 코드는 다음과 같습니다.
다음은 DataContext를 통해 수행되는 업데이트의 로그 출력입니다.
UPDATE [dbo].[LinqTests]
SET [StringValue] = @p3
WHERE ([ID] = @p0) AND ([StringValue] = @p1) AND ([DateTimeValue] = @p2) AND (NOT ([BooleanValue] = 1))
-- @p0: Input BigInt (Size = 0; Prec = 0; Scale = 0) [1]
-- @p1: Input VarChar (Size = 15; Prec = 0; Scale = 0) [I am in loop 1.]
-- @p2: Input DateTime (Size = 0; Prec = 0; Scale = 0) [3/19/2009 7:54:26 PM]
-- @p3: Input VarChar (Size = 34; Prec = 0; Scale = 0) [I am in loop 1. I've been updated.]
-- Context: SqlProvider(Sql2000) Model: AttributedMetaModel Build: 3.5.30729.1
이 쿼리는 클러스터 된 SQL Server 2000 (8.0.2039)에서 실행됩니다. 나는 내 인생에서, 여기서 무슨 일이 일어나고 있는지 파악할 수 없다. DB에 대해 비슷한 UPDATE 쿼리를 실행하면 정상적으로 작동하는 것 같습니다.
미리 도움을 청하십시오.
당신이 행을 업데이트 할 때 내가는 SQL의 낙관적 동시성 전략에 Linq에 이해 업데이트 – eglasius