현재 SubSonic 2.2를 사용하는 앱을 개발 중이며 테이블에서 복합 PKI 열 중 하나를 업데이트하는 데 문제가 있습니다.SubSonic 2.2를 사용하여 기본 키 값을 업데이트하십시오.
foreach (pageItem page in pages) {
page.IdFile = newIdFile;
page.PageNumber = counter;
counter++;
page.Save();
}
이 내 기록을 업데이트하지 않습니다
내 코드는 약이있다.
내 pageItem 테이블에는 PK를 구성하는 4 개의 열이 있습니다. 난 단지 하나의 파일을 다른 파일로 옮기고, 그 ID와 페이지 번호를 제외한 모든 값을 본질적으로 복사하는 것을 피하기 위해 새 레코드를 만드는 것을 피하기 위해 그 중 하나를 업데이트하면됩니다.
내가 SQL 서버 프로파일을 사용하는 경우 다음 나는 다음과 같은 코드가 DB에 방출되는 것을 볼 수 있습니다
exec sp_executesql N'UPDATE [dbo].[pageItem] SET [IdFile] = @IdFile, [PageNumber] = @PageNumber WHERE [IdPage] = @IdPage AND [IdCont]
= @IdCont AND [IdExp] = @IdExp AND [IdFile] = @IdFile;
SELECT @IdPage AS id',N'@PageNumber int,@IdPage int,@IdCont int,
@IdExp varchar(1),@IdFile int', @PageNumber=4,@IdPage=329, @IdCont=1, @IdExp='1', @IdFile=156
그러니까 기본적으로 내 문제는 업데이트 이전 및 새 IdFile에 대해 다른 값을 사용하지 않는 것입니다 키는 모두 @IdFile 매개 변수를 사용합니다.
내 레코드를 업데이트하는 데 사용할 수있는 CodingHorror 사용을 권장하지 않는 해결 방법이 있습니까? 원시 SQL 문을 사용해도 상관 없습니다. SubSonic을 잠재력을 최대한 발휘하는 데 관심이 많으므로 어떤 조언도 대단히 감사하겠습니다.
감사합니다,
페르난도
아마도이 경우에는 아니지만, 이러한 문제를 피하기 위해 음속의 추가 사용에 대해서는 분명히 고려할 것입니다. 이러한 유형의 문제가 버전 3에서 해결되었는지 알고 계십니까? – Fervelas
죄송합니다, 모르겠다. 아직도 2.2를 사용하고 있습니다. – kevinw