Как насчет:
var result = from a in workspace.GetDataSource<APPLE>()
from b in workspace.GetDataSource<BANANAS>()
where a.id == b.someid
select a;
или если вы хотите использовать объединенную нотацию:
var result = from a in workspace.GetDataSource<APPLE>()
join b in workspace.GetDataSource<BANANAS>()
on a.id equals b.someid
select a;
Обратите внимание, что вы можете изменить выбор a на проекцию необходимых вам элементов из обеих таблиц.
Не так хорошо знаком с этим форматом, но было бы что-то вроде этого:
var result = workspace.GetDataSource<APPLE>().Join(workspace.GetDataSource<BANANAS>(),a=>a.id, b=>b.someid,(a,b) => a);