Вам придется либо извлечь все записи клиенту в виде массива или списка, а затем отфильтровать их с помощью запроса, аналогичного тому, который вы показали при работе с массивом (вместо только LINQ to SQL), или вам придется преобразовать его в синтаксис, понятный LINQ to SQL:
int thisWeek = (DateTime.Now.DayOfYear + (int)(new DateTime(DateTime.Now.Year, 1, 1).DayOfWeek)) / 7;
var queryResult =
(from row in result
let WeekNum = (row.FollowedUp.Value.DayOfYear +
(int)(new DateTime(row.FollowedUp.Value.Year, 1, 1).DayOfWeek)) / 7
where WeekNum == thisWeek
select row);
LINQ to SQL на самом деле достаточно умен, чтобы преобразовать выражение WeekNum в код SQL следующим образом:
(DATEPART(DayOfYear, [t0].[FollowedUp]) +
(CONVERT(Int,(DATEPART(dw, CONVERT(DATETIME, CONVERT(NCHAR(2), 1) +
('/' + (CONVERT(NCHAR(2), 1) + ('/' + CONVERT(NCHAR(4),
DATEPART(Year, [t0].[FollowedUp]))))), 101)) +
(@@DATEFIRST) + 6) % 7))) / 7