Попробуйте:
List<Data> follow_icerik = icerik.Concat(
icerik.SelectMany(e => e.Row)
.Where(w => w.NAME == "CrawlSourceId")
.Join(follow.SelectMany(e => e.Row)
.Where(w => w.NAME == "crawl_source_id"),
i => i.VALUE,
f => f.VALUE,
(i, f) =>
new List<DataResultObject> { i, f }
).Select(e => new Data { Row = e })
).ToList();
РЕДАКТИРОВАТЬ:
icerik.SelectMany(e=>e.Row)
- выбрать строки с данными, которые нам нужны
icerik.SelectMany(e=>e.Row).Where(w => w.NAME == "CrawlSourceId")
- отфильтровать эти данные
... Join(...
- объединить отфильтрованные данные
В Join
мы также должны отфильтровать данные перед объединением: follow.SelectMany(e=>e.Row) .Where(w => w.NAME == "crawl_source_id")
i => i.VALUE,
f => f.VALUE,
- поля, к которым мы присоединяем данные.