С оператором linq, подобным вашему, свойства t2 / t3 не «известны» на самом верхнем уровне.Вы можете видеть это немного как циклы вложенности в C #:
foreach(var t1 in base3)
{
// t1 is accessible here
foreach(var t2 in base2)
{
// t1, t2 is accessible here
foreach(var t3 in base1)
{
// t1, t2, t3 is accessible here
}
}
}
Кроме того, нет никакой связи между base3-Properties и base1-Properties.Если ваш Linq будет использовать объединения для сущностей, вы можете получить доступ ко всем свойствам, например:
var abc = (from t1 in db.base3
join t2 in db.base2 on t1.PersonId equals t2.link_id
join t3 in db.base1 on t2.request_id equals t3.request_id
where t3.ed < DateTime.Now && t3.request_id < 20
select new {t1.PersonId, t3.ed});