I've been asked if it's possible to perform joins across different databases using LINQ. The first obvious answer is yes, you just do inproc join using Linq To Objects and two different contexts:
- generate the model for the main database
- generate models for databases which contain tables linked from within the main database
- trim these generated models (usually you do not create synonyms for the WHOLE database but rather for selected tables)
- change the namespace and the class name of all generated classes to the same names
That's it. You have a single model which spans several files generated independently but it does not matter as all files contain partial definition of the same class.