Improve CPU consumption of query
Ordering by this might be slowing it down quite a bit: 

DateAdd(second, DateDiff(second, GetDate(), GetUtcDate()), [T3].[EventTime]) AS C18


I would change ORDER BY [C18] DESC to order by [T3].[EventTime] desc to see if that changes the cost.



Your join for dbo.Sites references [T1].[C23] which is hard-coded 0 as [C23] in your [T3] query. So for each row you are returning from [T3] you are returning every row from dbo.Sites.SiteId = 0 without any other criteria. Is that intended?



On another note... your column and table alias choices are frightening.