Wenn das Schema mit beiden Datenbanken übereinstimmt, sollten Sie in der Lage sein, eine zweite DataContext-Instanz zu erstellen (indem Sie die zweite Verbindungszeichenfolge als Argument angeben). LINQ to SQL prüft in keiner Weise, ob Sie die "richtige" Datenbank verwenden - wenn die richtigen Spalten & Tabellen haben, wird es funktionieren.
LINQ funktioniert jedoch nicht automatisch mit mehreren Datenbanken auf "intelligente" Weise. Daher muss der Inhalt in den Speicher heruntergeladen werden, bevor Operationen mit mehreren Datenquellen ausgeführt werden. Sie können dazu immer noch eine einzelne LINQ-Abfrage verwenden. Sie müssen jedoch darauf achten, welcher Teil davon in Speicherdaten ausgeführt wird. (Übrigens können Sie mit Erweiterungsmethoden wie "ToList" explizit sagen - holen Sie sich die Daten aus der Datenbank an dieser Stelle).
Sie erwähnen auch, dass die Tabellen fast identisch sind mit Ausnahme einer ID in einigen Fällen - bedeutet das, dass Primär/Fremdschlüssel anders sind? In diesem Fall funktionieren einige automatisch generierte Beziehungen möglicherweise nicht. Wenn dies bedeutet, dass ein anderer Spaltenname vorhanden ist, können Sie das generierte Schema manuell so bearbeiten, dass es beide Spalten enthält, und dann nur das richtige verwenden. Dies ist jedoch etwas merkwürdig - es sei denn, Sie planen einige manuelle Änderungen am Schema, Sie könnten auch nur zwei sehr ähnliche Schemas generieren.