엔티티 프레임워크: 수동 기본 키 관리
EF(Entity Framework)는 일반적으로 기본 키 값을 자동 생성합니다. 그러나 기본 키를 수동으로 지정해야 하는 상황이 발생합니다. 이 가이드에서는 이를 달성하는 방법을 자세히 설명합니다.
자동 키 생성 비활성화
수동 기본 키 입력을 활성화하려면 OnModelCreating
메소드를 다음과 같이 수정하세요.
<code class="language-csharp">modelBuilder.Entity<Event>().Property(e => e.EventID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);</code>
ID 열 충돌 해결
테이블의 IDENTITY_INSERT
속성이 OFF
으로 설정된 경우 "ID 열에 명시적 값을 삽입할 수 없습니다." 오류가 발생합니다. 이를 수정하려면 데이터를 삽입하기 전에 임시로 IDENTITY_INSERT
을 ON
으로 설정하세요.
속성 기반 구성
또는 속성을 사용하여 클래스 내에서 직접 주요 속성을 정의할 수도 있습니다.
<code class="language-csharp">[Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] public int EventID { get; set; }</code>
이 방법은 OnModelCreating
수정을 방지하며 EF Core와 호환됩니다.
업데이트된 POCO 클래스 예시
다음 POCO 클래스는 속성 기반 접근 방식을 보여줍니다.
<code class="language-csharp">public class Event { [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] public int EventID { get; set; } public string EventType { get; set; } public DateTime StartDate { get; set; } public DateTime EndDate { get; set; } public virtual ICollection<Match> Matches { get; set; } public virtual ICollection<EventParticipation> EventParticipation { get; set; } }</code>
이 접근 방식은 EF 모델에서 수동으로 설정된 기본 키를 관리하기 위한 더욱 깔끔하고 유지 관리가 용이한 솔루션을 제공합니다.
위 내용은 Entity Framework에서 기본 키 값을 수동으로 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!