Entity Framework의 수동 기본 키 입력 문제 해결
Entity Framework에서 기본 키를 수동으로 할당하면 데이터베이스 생성 키 오류가 발생할 수 있습니다. 이 문서에서는 이러한 문제를 방지하기 위해 속성을 사용하는 솔루션을 설명합니다.
[NotMapped]
속성을 직접 사용하는 것은 권장되지 않습니다. DatabaseGeneratedOption.None
은 자동 키 생성을 방지하는 실행 가능한 대안처럼 보이지만 종종 "ID 열에 명시적 값을 삽입할 수 없습니다." 오류가 발생합니다.
이 솔루션에는 IDENTITY_INSERT
테이블 옵션을 사용하여 ID 열에 명시적으로 삽입할 수 있는 방법이 포함됩니다.
<code class="language-sql">ALTER TABLE Event SET IDENTITY_INSERT ON;</code>
이렇게 하면 갈등이 해결됩니다. 또는 속성을 사용하면 더 깔끔한 접근 방식을 제공합니다.
<code class="language-csharp">using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] public int EventID { get; set; }</code>
이 속성 기반 방법은 Entity Framework Core와 호환됩니다. DatabaseGeneratedOption.None
또는 특성 접근 방식을 사용하면 개발자는 Entity Framework 내에서 수동 기본 키 할당을 효과적으로 관리할 수 있습니다.
위 내용은 Entity Framework에서 기본 키를 수동으로 설정할 때 'ID 열에 명시적 값을 삽입할 수 없습니다' 오류를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!