Ваша проблема в том, что ваша схема имеет семантику отношения многие-ко-многим между Ad и MilBase, и поэтому действительно желаемым способом сделать это в LINQ будет ad.Milbases, который затем будет содержать Коллекция Милбаз.
Проблема не усугубляется тем фактом, что LINQ To SQL не поддерживает отношения «многие ко многим» напрямую и в реальности (при условии, что ваша справочная таблица определяет только один-к-одному или один-к-одному много отношений) вам придется сделать что-то вроде
ad.Adbases.Single().MilBase
Конечно, при условии, что всегда будет один - если это не так, то у вас впереди более сложные вещи.
Конечно, объединение также всегда возможно - в любом случае - если это не та информация, которую вы искали, не могли бы вы уточнить отношения между Ad и Milbase? (многие ко многим и т. д.?). Кроме того - если это не много ко многим, и вы можете это сделать, я действительно изменил бы его на внешний ключ либо в Milbase, либо в таблице объявлений.
РЕДАКТИРОВАТЬ: в ответ на ваш комментарий,
Вы могли бы сделать что-то вроде
var query = from a in db.ad
select new {
a.property1,
a.property2,
...
Milbases = a.Adbases.Select(s => s.Milbase)
};
Очевидно, что код не будет компилироваться, но он должен дать вам приблизительное представление - также я уверен, что это можно сделать лучшими способами, но что-то подобное должно работать.