Я использую Entity Data Model для связанных таблиц. В зависимости от размера вашей базы данных я бы создал только одну модель, если бы было менее 20 или 25 таблиц. Создание отдельных моделей для каждой таблицы немного дороже, поскольку каждая модель имеет объект EntityConnection, который необходимо создать.
Я считаю, что могу поддерживать модели достаточно хорошо, если у меня от 5 до 15 таблиц. Мой главный решающий фактор - это функциональность. Я строю инженерные приложения, поэтому, например, у меня есть около 6 таблиц компонентов из конструкционной стали. Они все в одной модели. Они имеют общие инженерные атрибуты, поэтому проще повторно использовать код, специфичный для управления этими атрибутами.
Это означает, что я могу создавать экземпляры модели, создавать объекты, манипулировать / организовывать эти объекты в общем файле кода. Любые изменения, которые необходимо распространить обратно в базу данных, могут быть выполнены довольно эффективно.
Суть в том, чтобы определить ваши потребности и частоту использования для базовых объектов. Если вы собираетесь постоянно обновлять одну или две таблицы, то не имеет смысла иметь 30 других не связанных таблиц внутри этой модели. В этом сценарии, где часто используется небольшое количество таблиц, может иметь смысл создавать коллекции этих объектов, манипулировать коллекциями и обновлять базу данных в подходящее время.
Манипулирование памятью намного дешевле, чем дисковый ввод-вывод. Это просто мой взгляд на структуру, и я ни в коем случае не эксперт в этом.