Проблема в том, что ваш запрос пуст на удаленном сервере, где существуют данные на локальном сервере.
Я не совсем уверен, в какой части запроса происходит исключение,поэтому я бы предложил разделить ваш запрос пополам.
var res=
from r in DetailsTable
where r.Activated == true;
if(res.Count() == 0)
return; // or handle gracefully as appropriate
var groups =
from r in res
group r by new { r.ActivationDate, r.ProductID, r.SubProductID } into t
select new { icount = t.Count(),
sActivationDate = t.Key.ActivationDate.ToShortDateString(),
iProductID = t.Key.ProductID,
iSubProductid = t.Key.SubProductID })
.OrderBy(r => r.icount);
Я уверен, что есть более изящный способ сделать это в пределах одного запроса, но без подробностей я не уверен, какпродолжить.