>  Q&A  >  본문

EF Core를 사용하여 C#에서 MySQL을 쿼리할 때 기본 키 열 이름이 올바르지 않습니다.

<p>C#에서 Mysql 데이터베이스를 쿼리하는 방법을 배우고 있는데 열 목록에 잘못된 열이 있다는 오류가 발생하지만 해당 열 이름(ToDoId)이 어디에 있는지 알 수 없습니다. 에서. </p> <p>테이블에는 두 개의 열만 있으며(아래 모델 참조), mysql의 기본 키는 <code>Id</code>입니다. 해당 <code>ToDoId</code>는 어디에서 왔으며 어떻게 강제로 <code>Id</code>가 되도록 합니까? </p> <p>여기에서 모든 샘플 코드를 살펴봤고 새 테이블을 올바르게 추가하기 위해 모든 것을 업데이트했다고 생각합니다. </p> <p>내 모델은 다음과 같습니다.</p> <pre class="brush:php;toolbar:false;">공개 클래스 ToDo { 공개 GUID ID { 설정 } 공개 문자열 ToDoName { 가져오기 } = null!; 공개 ICollection<ToDo> 공개할일() { ToDos = new HashSet<ToDo>(); } }</pre> <p>검색어에서 다음 오류가 발생합니다. </p> <pre class="brush:php;toolbar:false;">공개 클래스 ToDoRepository : IToDoRepository { 개인 읽기 전용 DatabaseContext _context; 공개 ToDoRepository(DatabaseContext 컨텍스트) { _컨텍스트 = 컨텍스트; } // 다음 _context.ToDo는 다음과 같이 정의됩니다. public virtual DbSet<ToDo> 공개 IQueryable Query => _context.ToDo.AsQueryable(); // 여기서 오류가 발생했습니다. 공개 IReadOnlyList<ToDo> .ToList(); }</pre> <p>오류 메시지: </p> <인용문> <p>MySqlConnector.MySqlException: '필드 목록'의 알 수 없는 열 't.ToDoId'</p> </blockquote><p><br /></p>
P粉736935587P粉736935587405일 전526

모든 응답(1)나는 대답할 것이다

  • P粉610028841

    P粉6100288412023-08-18 09:49:51

    간단하게 유지하고 EF conventions을 사용하고 기본 키 이름을 다음과 같이 바꾸세요.

    classNameID, 귀하의 경우:

    으아악

    또는 여기에 설명된 대로 Key 속성을 사용하세요.

    으아악

    클래스 이름을 정하는 친절한 제안 Todo

    회신하다
    0
  • 취소회신하다