Re: База данных без внешних ключей
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.11.22 10:10
Оценка: +2
Здравствуйте, dmitry_npi, Вы писали:

_>Попал на проект, в котором используется реляционная БД (на постгрес, небольшая). Логически в ней есть связи 1..* и *..*, но не определены внешние ключи (FOREIGN KEYS). Вместе с тем, в DAL используется Entity Framework, и из-за этого его использование выглядит... весьма своеобразным. Навигационных свойств в виде коллекций на сущностях нет, только int/guid ссылки. Чтобы выбрать мастер-сущность вместе с детьми, делается два запроса — на родителя и детей.


_>Коллекции с "детьми" есть в отдельных классах бизнес-сущностей, которые строятся вручную в репозиториях.

_>В итоге от ОРМ как такового почти ничего не остаётся. Мотивируется это тем, что якобы запросы с JOIN медленно обрабатываются СУБД. Доказательств с цифрами нет. Может, их делали те, кто проект начинал, но их давно нет (на проекте).

_>Вопрос: исходя из вашего опыта, насколько это оправдано? Проект не хайлоад, никаких там 10000rps нет.


Вообще не оправдано, это признак неумения работать с БД.
Более того, даже отсутствие внешних ключей не мешает настроить ссылочные свойства в EF.
Два запроса вместо одного это плохо. Если это еще и в цикле, то совсем ахтунг.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.