2009-07-20 7 views
0

내가 LINQ to SQL은을 사용하여 테이블 업데이트하려고하면 나는 다음과 같은 예외를 받고 있어요으로 구성된 키 테이블을 업데이트하는 방법 :하나 개 이상의 필드

멤버 값 'IdSeccionNovedad' 을 유형의 목적은 '새' 이 변경되었습니다. 당신은 개체의 정체성을 정의하는 구성원을 수정할 수 없습니다. 과 새로운 정체성을 새로운 객체를 추가하고 기존 을 삭제합니다.

느릅 나무 첫 문장이 같은로 번역 할 수 있습니다

CREATE TABLE [dbo].[Novedades](
    [IdNovedad] [int] NOT NULL, 
    [IdSeccionNovedad] [int] NOT NULL, 
    [Antetitulo] [varchar](250) NULL, 
    [Titulo] [varchar](250) NOT NULL, 
    [Sumario] [varchar](max) NULL, 
    [Cuerpo] [varchar](max) NULL, 
    [FechaPublicacion] [smalldatetime] NOT NULL, 
    [Activo] [bit] NOT NULL, 
CONSTRAINT [PK_Novedades] PRIMARY KEY CLUSTERED 
(
    [IdNovedad] ASC, 
    [IdSeccionNovedad] ASC 
) 

내가 아는 :

이 개체의 정체성을

테이블을 정의 회원을 수정할 수 없습니다 것은 이것이다 저장 프로 시저를 사용하여이 문제를 해결할 수 있지만 어떻게이 사용을 해결할 수 있습니까? 린에게 SQL로?

답변

0

내가 데이터베이스 설계를 취소 할 수 없기 때문에, 테이블에 업데이트 저장 프로 시저를 사용하는 것입니다.

미래 설계를 위해, 나는 단 1 키와 테이블을 사용합니다.

1

복합 키를 잘 크게 추한 내 의견으로는 ... 나쁜 데이터베이스 설계의 표시입니다. 당신은 ESTA를 가고 싶어하는 것 때문에 사람이 작동하지 않는 이유를 파악하기 위해하지만 ... 자체의 경로 테이블 디자인은 충분하지 않습니다. 이론적으로 당신의 가치가 유효하면 어떤 문제도 있어서는 안됩니다. 업데이트하는 데 사용하는 코드를 제공해 주시겠습니까?

감사합니다. 내가 무엇

+0

야아, 내가 동의합니다. 나는 거의 항상 설정 내 DB를에 ROWID 숫자, ID 열을 갖는 모든 테이블과 함께. 그건 내 기본 키로 사용하고, 시행해야 할 논리 멀티 필드 "키"가있는 경우 다음은 고유 인덱스를 추가합니다. – eidylon

관련 문제