Я могу понять вашу боль. Дизайнер LINQ to SQL невелик, когда дело доходит до больших моделей. Однако 35 таблиц не очень большие.
Если вы можете разбить таблицы в двух или более группах, где каждая группа полностью не зависит от другой (никаких отношений), в этом случае расщепление оправдано ИМО, особенно когда группы являются логически разделенными частями. В этом случае вы можете дать каждому контексту собственное имя.
Однако, когда у вас есть отношения между группами, это часто является признаком того, что они являются частью одного домена. При разбиении такого домена это означает, что вам придется дублировать таблицы, что может быть раздражающим и непрактичным, но когда одна модель/контекст читает только эту таблицу, это может быть хорошо.
Также имейте в виду, что разделение модели может иметь некоторые раздражающие побочные эффекты в вашей архитектуре. Конечно, это зависит от вашей архитектуры. Приложение, над которым я работал, использовал «служебные команды», которые выполняли бизнес-логику от имени слоя презентации. Автоматическая конструкция предоставила команды с экземпляром DataContext и имела несколько DataContexts, которые сделали этот проект довольно расстраивающим.
Не забудьте указать свой любимый ответ ;-). – Steven