Ihr Problem ist, dass Ihr Schema die Semantik einer Viele-zu-viele-Beziehung zwischen Ad und MilBase hat und als die wirklich gewünschte Art, dies in LINQ zu tun wäre, wäre dies ad.Milbases Halten Sie eine Sammlung von Milbases. Das Problem wird nicht durch die Tatsache verbessert, dass LINQ To SQL keine Viele-zu-Viele-Beziehungen direkt und in der Realität unterstützt (vorausgesetzt, dass Ihre Nachschlagetabelle nur Eins-zu-Eins oder Eins-zu-Eins definiert) -viele Beziehung) Sie müssen etwas tun würde wie
ad.Adbases.Single().MilBase
natürlich vorausgesetzt, es gibt immer eine sein wird - wenn das nicht der Fall ist, dann haben Sie einige kompliziertere Dinge vor dir.
Natürlich ist auch ein Join immer möglich - egal auf welche Art. Könnten Sie die Beziehung zwischen Ad und Milbase klären, wenn das nicht die gesuchte Information ist? (Viele-zu-viele, usw.?). Außerdem - wenn es sich nicht um ein Many-to-Many handelt und Sie dazu in der Lage sind, würde ich dies wirklich als Fremdschlüssel in Milbase oder der Ad-Tabelle ändern.
EDIT: Als Antwort auf Ihren Kommentar,
Sie etwas tun könnte, wie
var query = from a in db.ad
select new {
a.property1,
a.property2,
...
Milbases = a.Adbases.Select(s => s.Milbase)
};
Offensichtlich, dass Code nicht kompiliert werden, aber es sollte Ihnen eine grobe Vorstellung geben - auch bin ich sicher, es kann auf bessere Weise gemacht werden, aber so etwas sollte funktionieren.
Ihr Bild funktioniert nicht –
thx, sollte jetzt funktionieren. – Chaddeus