Я сейчас очень расстроен. У меня проблема с LINQ-To-SQL. Около 80% времени, это прекрасно работает, и мне это нравится. В остальные 20% случаев запрос, создаваемый L2S, возвращает правильные данные, но при фактическом запуске его из кода он ничего не возвращает. Я собираюсь вырвать мои волосы. Я надеюсь, что кто-то может увидеть проблему или слышал об этом раньше. Поиск в Google ничего не возвращает.
Вот запрос linq ...
var query = from e in DataLayerGlobals.GetInstance().db.MILLERTIMECARDs
where e.deleted_by == -1
&& e.LNAME == lastName
&& e.FNAME == firstName
&& e.TIMECARDDATE == startDate.ToString("MM/dd/yyyy")
group e by e.LNAME into g
select new EmployeeHours
{
ContractHours = g.Sum(e => e.HRSCONTRACT),
MillerHours = g.Sum(e => e.HRSSHOWRAIN + e.HRSOTHER),
TravelHours = g.Sum(e => e.HRSTRAVEL)
};
Это сгенерированный запрос ....
SELECT SUM([t0].[HRSCONTRACT]) AS [ContractHours],
SUM([t0].[HRSSHOWRAIN] + [t0].[HRSOTHER]) AS [MillerHours],
SUM([t0].[HRSTRAVEL]) AS [TravelHours]
FROM [dbo].[MILLERTIMECARD] AS [t0]
WHERE ([t0].[deleted_by] = @p0)
AND ([t0].[LNAME] = @p1)
AND ([t0].[FNAME] = @p2)
AND ([t0].[TIMECARDDATE] = @p3)
GROUP BY [t0].[LNAME]
Теперь, когда я подключаю ТОЧНЫЕ значения, которые использует запрос linq, в сгенерированный запрос, я получаю правильные данные. Когда я запускаю код, я ничего не получаю.
Есть идеи?