I can understand your pain. The LINQ to SQL designer is small when it comes to large models. However, 35 tables are not very large.
If you can split tables in two or more groups, where each group is completely independent of the other (no relationship), in this case splitting is justified by IMO, especially when the groups are logically separated parts. In this case, you can give each context its own name.
However, when you have relationships between groups, this often indicates that they are part of the same domain. When splitting such a domain, this means that you will have to duplicate tables, which can be annoying and impractical, but when one model / context reads only this table, everything can be in order.
Also keep in mind that splitting a model can have some annoying side effects in your architecture. Of course, it depends on your architecture. The Ive application worked on using โservice commandsโ that executed business logic on behalf of the presentation layer. The automatic design provided commands with an instance of the DataContext and had several DataContexts that made this project very frustrating.
source share