일부 코드를 ColdFusion에서 .NET LinqToSQL로 마이그레이션하려고합니다. 다음 쿼리는 현재 ColdFusion에 포함되어 있습니다. LinqToSQL을 얻으려고하기보다는 저장 프로 시저를 작성하려고합니다. 참고 :이 문맥에서 ## in CF는 실제로 SQL에서 #입니다.Embedded SQL을 LinqToSql과 저장 프로 시저로 변환
- 어떻게 모든 것을 다루 임시 테이블
- 합니까 LinqToSql 다루는 : 나는 글로벌 임시 테이블
<cfquery name="qryTrafficDetails"> DECLARE @startDate date DECLARE @endDate date SET @startDate = <cfqueryparam cfsqltype="CF_SQL_date" value="#filter.StartDate#"> SET @endDate = <cfqueryparam cfsqltype="CF_SQL_date" value="#filter.endDate#"> SELECT CONVERT(date, CreateDate) AS CreateDate, url_vars.value('(search)[1]', 'nvarchar(max)') AS Item, remote_addr INTO ##tempTraffic FROM dbo.Traffic WITH (NOLOCK) WHERE Createdate BETWEEN @startDate AND @endDate AND url_vars.exist('.[search]') = 1 SELECT Area, AreaSort, Item, CalendarDate, isNull(Visitor, 0) AS Visitor, ISNULL(Hit,0) AS Hit FROM dbo.Calendar LEFT JOIN ( SELECT AreaSort = 10, 'Search' AS Area, FullGrid.Item AS Item, FullGrid.CalendarDate AS CreateDate, COUNT(DISTINCT remote_addr) AS visitor, COUNT(remote_addr) as hit FROM ( SELECT DISTINCT CalendarDate, Item FROM dbo.Calendar, ##TempTraffic WHERE CalendarDate BETWEEN @startDate AND @endDate ) FullGrid LEFT JOIN ##TempTraffic AS DataItem ON FullGrid.CalendarDate = CreateDate AND FullGrid.Item = DataItem.Item GROUP BY FullGrid.Item, FullGrid.CalendarDate ) AS SummaryDetail ON CalendarDate = SummaryDetail.CreateDate WHERE CalendarDate BETWEEN @startDate AND @endDate AND AreaSort IS NOT NULL ORDER BY AreaSort, Item, CalendarDate </cfquery> <cfreturn qryTrafficDetails>
내가 우려하고있는 문제 중 일부가를 생성하고 있지 않다?
- LinqToSql이 적절하지 않은 경우의 예입니까?
- 성능