> 백엔드 개발 > C++ > Entity Framework에서 기본 키 값을 수동으로 설정하는 방법은 무엇입니까?

Entity Framework에서 기본 키 값을 수동으로 설정하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-14 06:59:45
원래의
500명이 탐색했습니다.

How to Manually Set Primary Key Values in Entity Framework?

엔티티 프레임워크: 수동 기본 키 관리

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_INSERTON으로 설정하세요.

속성 기반 구성

또는 속성을 사용하여 클래스 내에서 직접 주요 속성을 정의할 수도 있습니다.

<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿