반응형
금일 Database 의 PK(Primary Key)를 2개 지정하여 사용하다가 이와 같은 오류를 마주하였다.
이 오류는 .Net Entity Framework에서 Primary Key 2개가 실제 EF에서 적절하게 매핑이 되지 않아서 발생한다.
아래 그림과 같이 Data Model에 2개의 키를 지정해 준 상황에 발생하는 오류라고 할 수 있다.
[Key]
[Required]
public string testkey { get; set; }
public string version { get; set; }
public string type { get; set; }
[Key]
[Required]
public string realkey { get; set; }
따라서 Entity 생성 시점에 PK가 2개임을 알려줘야 한다.
위 오류가 발생한다면, DbContext를 관리하는 Model에 아래 코드를 추가하자.
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<yourmodel>()
.HasKey(c => new { c.testkey, c.realkey });
}
그리고 다시 실행하면 정상적으로 처리되는 것을 알 수 있다.
반응형
'.Net' 카테고리의 다른 글
.NET - Semaphore 초기값? initialCount, maximumCount (0) | 2020.12.01 |
---|---|
.NET - Thread Start with Argument or Data (0) | 2020.11.30 |
.Net 5 - Visual Studio 사용하기 (0) | 2020.11.18 |
Net - System.Data.SqlTypes.SqlNullValueException: Data is Null (0) | 2020.11.17 |
.Net bootstrap - Tab Menu 만들기 (0) | 2020.11.13 |