ORM은 db에 있는 스키마를 프로그래머가 만든 구조대로 바인딩해준다.
C#에서는 엔티티프레임워크 라는 넘이 이분야를 꽉잡고 있다.
처음에는 이게 뭐하는건가 싶기도하고 어짜피 뷰만들어서 하면 되지.. 아니면
그냥 기본 라이브러리에서 지원하는 sql스테이트먼트써서 쿼리 쓰지 뭐 이딴거를 쓰냐
새로운거 배우기 싫고 하기싫은데 하면서 어거지로 EF Core 사용하고 있었다.
근데 쓰면쓸수록 linq는 이넘을 위해서 만들은건가 라는 생각이들정도로 세상편해진다.
특히 보고서같이 특성 상태를 조합해서 보여줘야하는 View를 만들때 특정변수에
들어가는 값하나를 집계처리해서 꼽아주었을때 예를 들어 그래프표시를 위해 1년치
가격변동의 월평균값을 리스트로 꼽아주는 코드가 2줄이면 끝난다던가.
이러면 '이 괴물같은 ㅅㄲ들' 라는 말이 절로 나온다.
linq의 괴랄한 outter join 으로 새로운 view 모델 에 꼽아주는 코드 작성할때마다
ㅋㅋㅋ ㅁㅊ놈들 ㅋㅋㅋ 이러면서 코딩하게된다.
하지만 처음부터 orm만 하면 매우 고약스럽다. sql스테이트먼트나
쿼리매핑이랑 병행하면서 사용하는걸 추천한다.
나중에 orm에 확장메서드랑 섞어쓰면 다른거 걷어내도 될정도로 된다.
그럼 그때 ORM만 쓰면되긴하지만 기본 sql스테이트먼트를 버리면 아니된다는건 함정..
또한 이 ORM에 익숙해지면 기존 sql쿼리문 날려서 모델매핑하는게 원시인처럼 느껴짐
그렇게 하나하나 쿼리문이 들어가있는 소스코드를 보면 개토나옴.. 주의할것!!
댓글 없음:
댓글 쓰기