본문 바로가기

.NET/MVC.NET

EntityFramework 쿼리 웹으로 노출하기

간단하게 우리 회사의 시스템을 소개하고자 한다.


좋지 않을수도 있지만 혹시 다른 분들에게 도움이 될까해서 올려봅니다.



  1. 우리회사의 플랫폼
    1. ASP.NET MVC3
    2. MS Sql 2008
    3. EntityFramework 4.1
    4. Windows Server 2003
  2. 회사 내부는 모두 공인 아이피


시스템 환경및 내부 환경은 위와 같다.

간단하게 우리회사는 Linq to EntityFramework는 쓰지 않고
모두 Procedure 중심으로 쓰고 있다.

개발자들이나 DB팀의 다른 팀원들이 회사의 웹페이지를 들어와 
프로시저의 속도와 프로시저 이름 및 파라미터들을 확인할수 있다.

화면에 프로시저및 시간을 보여주는 원리
일단 Entity Framework 내의 ExecuteStoreQuery<TElement> 함수를 써서
프로시저를 콜하고 있는데 이 함수를 재정의해서 쓰고 있다.

간단하게 예를 들면 아래와 같다.

 

 



위의 이미지를 보면 IsLogActivated 속성이 true일 때만 구동되게 되어있다.

IsLogActivated 속성은 회사측의 아이피와 클라이언트의 쿠키값으로 결정된다.

시간은 StopWatch를 사용하여 실제 쿼리가 실행되는 시간을 측정하고 있다. 

단위는 밀리세컨드 단위이다.


위와 같이 쓰고 있는 함수를 new로 재정의하여 쓰고 있다.


참 간단하면서 매우 유용하다