Dapper와 다른 이름을 가진 ID 열을 매핑하는 방법은 무엇입니까?

c# dapper

문제

BookId, AuthorId 등의 id 열이있는 데이터베이스가 있습니다. 그러나 코드 파일에는 Id 속성이 있습니다. 나는 Dapper와 함께 NHibernate를 사용하는 프로그램의 일부를 변환하려고 시도하고 있으므로 Id와 BookId 속성에 대한 필요성을 없애려하고있다. Hibernate는 Book 객체의 Id 프로퍼티에 BookId를 매핑하고 마찬가지로 Author 객체의 Id 프로퍼티에 대해 AuthorId를 맵핑하는 아이덴티티 맵을 내장하고있다.

SQL 쿼리에서 별칭을 제공하지 않고이 Dapper를 수행하는 방법이 있습니까?

select * from Books b inner join Author a on a.AuthorId = b.AuthorId

내가 사용하는 샘플 쿼리는 다음과 같습니다.

select * from Books b inner join Author a on a.AuthorId = b.AuthorId

Dapper가 이것을 쉽게 지원하지 않는다면, 내가 가지고있는 다른 옵션에 대한 생각은 어떻습니까?

수락 된 답변

의도적으로 dapper에는 매핑 레이어가 없습니다. 그 길을 한 걸음 물러서서 갑자기 우리가 갑자기 무슨 일이 일어 났는지 알기도 전에 설정 파일에 빠져들 것입니다. 그래서 : 두 가지 옵션 :

  • SQL에 별명을 추가하십시오.
  • C #에 심을 추가하십시오.

그래서 둘 중 하나 (sql) :

private int BookId { get { return Id; } set { Id = value; } } // just for dapper

또는 (C #) :

private int BookId { get { return Id; } set { Id = value; } } // just for dapper



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.