2015-11-05 49 views
0

開始 之前我有查看 'PageViewModSession' 它的代碼是GET差值結果

SELECT  CONVERT(datetime, CONVERT(varchar(14), VisitStartDateTime) + ':00:00') AS DateValue, MAX(dbo.PageLogGroupByDateTimeFull(VisitStartDateTime)) AS PageLogCount, 
        (CASE MAX(dbo.SessionGroupByDateTimeFull(VisitStartDateTime)) WHEN 0 THEN 1 ELSE MAX(dbo.SessionGroupByDateTimeFull(VisitStartDateTime)) END) AS SessionLogCount, SiteInfoID 
FROM   dbo.PageLog 
GROUP BY CONVERT(varchar(14), VisitStartDateTime), SiteInfoID 

和時選擇此查看我的結果是 Sql Query Result.png

當使用此合成文本進行選擇

var obj = db.PageViewModSessions.AsQueryable(); 

結果是
Ef Result.png

的結果

我抓住創建的SQL查詢的查詢分析器中

SELECT 
[Extent1].[DateValue] AS [DateValue], 
[Extent1].[PageLogCount] AS [PageLogCount], 
[Extent1].[SessionLogCount] AS [SessionLogCount], 
[Extent1].[SiteInfoID] AS [SiteInfoID] 
FROM (SELECT 
[PageViewModSession].[DateValue] AS [DateValue], 
[PageViewModSession].[PageLogCount] AS [PageLogCount], 
[PageViewModSession].[SessionLogCount] AS [SessionLogCount], 
[PageViewModSession].[SiteInfoID] AS [SiteInfoID] 
FROM [dbo].[PageViewModSession] AS [PageViewModSession]) AS [Extent1] 

和結果

每一行中重複行的一個是

2015-11-03 01:00:00.000  19  9  2 
2015-11-03 02:00:00.000  19  4  2 
2015-11-03 03:00:00.000  4  1  2 
2015-11-03 11:00:00.000  7  5  2 
2015-11-03 12:00:00.000  9  2  2 
2015-11-04 01:00:00.000  1  1  2 
2015-11-04 02:00:00.000  12  1  2 
2015-11-04 03:00:00.000  5  1  2 
2015-11-04 05:00:00.000  1  1  2 
2015-11-04 06:00:00.000  4  1  2 
2015-11-04 10:00:00.000  20  2  2 
2015-11-04 11:00:00.000  19  4  2 
2015-11-04 12:00:00.000  23  18  2 
2015-11-05 02:00:00.000  1  1  2 
2015-11-05 03:00:00.000  5  1  2 
2015-11-05 04:00:00.000  25  2  2 
2015-11-05 10:00:00.000  2  1  2 
2015-11-05 11:00:00.000  3  1  2 

爲什麼?!

,什麼必須做解決這個問題

回答

0

我處理這 通過設置兩個關鍵的模型 DateValueand SiteInfoId