EF Core. scaffold-dbcontext. DBFirst
Или прямо каждый второй
-----
Данные имеют свойство накапливаться.
Причем - довольно быстро.
Той базе, которую Я делал для системы импорта, проблемы производительности появились уже на второй год эксплуатации.
Решение проблемы известно - нужно добавлять индекс по паре полей...
Чистить периодически?
Нормальный подход. Или вам нравится вечно со старым дерьмом работать? Нужно же думать заранее, чем вы через два года заниматься будете. ))А попробуйте угадать - сколько раз разрешили переписать заново? Из .... ну пусть для удобства будет 10 проектов.
Переписывать софт, хотя бы кусками - это нормально и должно быть заложено в долгоподдерживаемом софте. Рефакторинг же к этому относится? Если менеджеры не дают этого делать, значит они плохие менеджеры, думающие только о своих показателях и премиях, и не хотящие понимать элементарных вещей.
С какого-то времени поддержка старого софта без переписывания становится дороже переписывания. Ну, так во всех областях, не только в софте. Софт тоже протухает, ржавеет и распадается на атомы.
Ну удобнее c ER дизайнером работать. Все база видна, нет зависимости от используемой версии EF, и генериш что надо.
Насчёт "вся база видна" - тоже спорно. А если у меня монитор маленький или таблиц за сотню? Что толку созерцать сотню квадратиков с несколькими сотнями связей между ними на одном мониторе - ничего не понятно же.
Вот три примера подобного визуального подхода
Все эти визуальные схемы - только для самых простых проектов, фактически учебных примеров.