Entity Framework 4.3.1을 사용하고 있고 테이블에 새 레코드를 삽입하려고합니다. ProductVersion
엔티티의 기반이됩니다.Entity Framework에서 복합 키를 사용하여 행 삽입
ProductVersion
엔티티에는 ProductId
및 ProductOrdinal
테이블에 대한 복합 기본 키를 구성하는 2 개의 등록 정보가 있습니다.
사람이 상품 항목을 업데이트 할 때마다 ProductVersion
엔티티를 작성하여 ProductOrdinal
속성을 증가시키고 컨텍스트에 엔티티를 추가하고 저장하려고 시도하면됩니다.
나는 다음과 같은 오류가 계속 :
The property 'ProductOrdinal' is part of the object's key information and cannot be modified.
어느 쪽 번호 매기기하는 키를 구성하는 열을 나는 내 POCO의 속성을 주석 한 다음
[Key, Column("PROD_Ordinal", Order=2), DatabaseGenerated(DatabaseGeneratedOption.None)]
public long ProductOrdinal { get; set; }
예외 및 설명을 통해 기존 'ProductVersion'인스턴스의 'ProductOrdinal'속성을 증가시키고 저장하려고하는 것으로 보입니다. 기존 인스턴스에서 'ProductVersion'의 새 인스턴스를 만들고 'ProductOrdinal'속성을 증가시키고 새 인스턴스를 저장하는 것이 좋습니다. – alwayslearning
나는 그것을 조사 할 것이다. 나는 네가 옳을 수도 있다고 생각한다. – Maxmanzero
정말 옳았습니다. 컨텍스트는 여전히 열려있어서 "현재"개체를 업데이트하고 관련 개체를 업데이트했을 때 동일한 개체를 업데이트했고 이미 삽입 된 키를 업데이트하려고한다는 불평을했습니다. – Maxmanzero