https://en.wikipedia.org/wiki/Dapper_ORM
Dapper는 .NET 프레임워크를 위한 마이크로소프트의 ORM(Object-Relational Mapping) 제품이다.
그렇다면, ORM(Object-Relational Mapping)이란 무엇인가 ?
이름 뜻을 보면서 유추해보면 관계되는 객체를 매핑해주는 제품인거 같다.
위키페디아에 따르면 객체 지향 프로그래밍 언어를 사용하여 호환되지 않는 유형 시스템 간에 데이터를 변환하는 프로그래밍 기법이다. 이것은 사실상 프로그래밍 언어 내에서 사용될 수 있는 가상 객체 데이터베이스를 만든다라고 한다.
좀더 쉽게 이해해보기 위해서 youtube 강의를 시청했다.
https://www.youtube.com/watch?v=4CRpndN3tP0
해당 강의를 통해 이해한걸 정리해보면, 객체지향 프로그래밍 언어에서 사용하는 데이터 타입과 데이터베이스에서 사용하는 데이터 타입은 매칭되지 않는다. 그렇기 때문에 데이터베이스에 데이터를 요청하거나 보낼 때 데이터 타입 변환을 해줘야 하는데 이러한 작업은 매우 귀찮은 작업이고 시간이 많이 들어간다 따라서 데이터베이스에서 받은 데이터 타입을 객체지향 언어에서 이해할 수 있는 데이터 타입으로 변환해주는 것이 orm의 역할이라 볼 수 있다.
데퍼를 사용함으로써 얻을 수 있는 이점을 몇가지 알아보면서 마무리 하겠다.
데퍼를 사용하는 이유중 주요한 이유는 빠르다는 것이다. 현재 재직중인 회사에서도 Entity Framework에서 Dapper로 변경을 하였는데 이유는 데이터를 조회시 한번에 가져와야되는 데이터의 수가 증가함에 따라 속도가 느려저서 속도를 개선할 필요성이 필요해서였다.
그리고 코드 라인 수가 감소한다는 이점도 있는Dapper에게 단순히 파라미터와 쿼리문만 주면 되기 때문으로 보인다.