Join
принимает 4 параметра (первая перегруженная версия):
Первый - это последовательность, к которой нужно присоединиться (yearweeks
), второй - это ключ из первой последовательности (WeekStarting
), третий параметр - это ключ из второй последовательности, а четвертый параметр принимает лямбду для выбора подходящих элементов. :
Функция для создания результирующего элемента из двух совпадающих элементов.
DatesDeclared.planner = db.planners.Where(a => a.EmployeeId == 2 && a.Year == DateTime.Now.Year).Join(yearweeks, c => c.WeekStarting, d => d.Value, (c, d) => new
{
c.WeekStarting,
d.Value
}).ToList();
Синтаксис запроса более удобен для чтения, чем лямбда-синтаксис, и проще:
var data = from p in planners
join w in yearweeks on p.WeekStarting equals w.Value
select new
{
p.WeekStarting,
w.Value
};
Не зная типа, который вы возвращаете, я не могу знать, какой тип DatesDeclared.planner
, поэтому приведенный выше код возвращает список анонимного типа