login register Sysop! about ME  

2017년 06월 05일 00시 29분 00초,     조회수 : 705
  제목 : mvc 에서 sql 쿼리나 프로시저 사용법??
SEQ : 34505 글쓴이 : tigerpar

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

asp.net mvc 를 보다보니, 궁금하네요.

1. asp.net 강의들을 보면 db 연동시에 entity 를 사용하는데, 게시판 리스트 뿌려줄때 sql 쿼리나 프로시저 이용은 어떻게 
하나요?

2. 지금 현재 실무에서는 실제로 db 연동시에 entity 를 사용하는 건가요? 아님, 프로시저를 사용하나요?

3. asp.net mvc 도 있고, core 도 있고, 차이점은 무엇인가요?

고수님들의 답변 부탁합니다.

  hskim618
  2017-06-05(04:44)
캐릭 이미지
1. 저는 Entity Framework 어려워서요.. Dapper로 프로시저 호출해서 써요.
2. 게임업계는 대부분 실무에서 프로시저 사용해요.
하지만 다른 분야에서는 Entity Framework를 많이 사용하는 것 같아요.
3. asp.net mvc는 Windows에서만 작동해요.
core는 Mac, Linux에서도 작동해요. 성능도 더 좋아요.

  hwasin6
  2017-06-05(14:14)
asp.net mvc부터 입무하셨는지 모르겠으나..저도 Dapper가 나을듯 싶네요.
  tigerpar
  2017-06-07(01:29)
답변 감사합니다.
그러나, 조금은 이해가 가지않고, 더 많은 궁금증이 생겼습니다..;;

1. 프로시저도 사용가능한데, 왜 굳이? 성능도 떨어진다는 Entity Framework를 이용하
는지 이해가 되지 않습니다.
2. 그리고, 프로시저 사용하려면 Dapper를 꼭 이용해야 되나요?
3. 사실 MVC에서 Model 사용이 조금은 생소하고, 불편한거 같은데, 프로시저 이용하면
Model 부분은 필요없는 건가요?
4. 찾아봐도 Dapper에 대한 정보가 부족하던데, 참고나 강좌 사이트 없나요?
너무 질문이 많습니다..;;

  hskim618
  2017-06-07(01:52)
캐릭 이미지
1. EF를 사용하는 이유는 DB에 대해 신경을 많이 쓰지 않아도 되기 때문입니다.
로직이 모두 서버쪽에 있기 때문에 프로그램 흐름 파악이 쉽고,
프로시저 변경도 신경쓰지 않아도 되고
다른 DB를 사용하게 되어도 변경할 점이 많지 않습니다.

  hskim618
  2017-06-07(02:02)
캐릭 이미지
단점은 주로 LINQ를 실제 사용할 SQL로 만들어 내는 데에서 발생합니다.
LINQ가 만들어낸 SQL이 내가 의도한 것과 다를 때가 있을 수 있구요..

DB에서 에러가 발생하거나 성능이 느린 쿼리를 발견한 경우..
프로그램 코드 어디에서 이 SQL을 만들어 내는 지
찾기가 쉽지 않을 때가 있다고 합니다.

  hskim618
  2017-06-07(02:11)
캐릭 이미지
EF는 기본적으로 성능 향상을 위해 Lazy Loading 방식을 사용하기 때문입니다.
여러 개의 LINQ쿼리를 합쳐서 하나의 SQL로 만드는데
이러면 문제되는 코드를 찾기 힘들게 됩니다.
그리고 Lazy Loading에 익숙하지 않으면 생각과 다르게 작동할 수 있습니다.

저는 EF를 실무에 써 본 적이 없어서 이정도로 쓰고요..
더 자세한 것은 다른 분들이 답변 주시지 않을까 생각합니다.

  hskim618
  2017-06-07(02:14)
캐릭 이미지
2. 프로시저 사용하는데 ADO.NET을 사용해도 됩니다.
Dapper도 내부적으로 ADO.NET을 사용하기 때문에
직접 ADO.NET을 사용하는 것이 사실 성능도 약간 더 좋습니다.
하지만 Dapper를 사용하면 코드가 많이 짧아집니다.

  hskim618
  2017-06-07(02:18)
캐릭 이미지
3. Model 생성은 모든 사람들이 다 불편함을 느끼는 점일 것입니다.
성능과 안정성이 중요하지 않다면 dynamic 키워드를 사용해서
Model을 대신할 수 있습니다.

아니면 DB 스키마로 Model을 자동생성한 후
편집해서 사용하는 것도 한 방법입니다.

  hskim618
  2017-06-07(02:26)
캐릭 이미지
https://github.com/StackExchange/Dapper
여기 샘플 예제만 봐도 사용하기 어렵지 않을 겁니다.

팁 하나를 드리자면 var p = new DynamicParameters(Model);
방식을 사용하면 코드가 정말 짧아집니다.. ^^

  wind1379
  2017-06-07(10:53)
캐릭 이미지
음... 저도 개인적으론 Entity Framework 선호 하지는 않지만,
잘 사용하면, 속도나 성능이 나쁘진 않습니다. ...[Mr.NET!]

  tigerpar
  2017-06-07(21:43)
많은 조언 감사합니다..(꾸벅)


제목 작성자 날짜 조회
mvc 에서 sql 쿼리나 프로시저 사용법?? (11) tigerpar 2017-06-05 705

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})