Size: a a a

2021 February 05

DS

Doge Shibu in rust_offtopic
Nik Krapivnitskiy
так в том-то и дело, что далеко не во всех ситуациях нужна прям умная работа с бд. если есть место затычное, его можно реализовать мимо того же ЕФа
То есть если делать стандартный круд без особых требований по перформансу, то сойдёт.

А если нормальные объемы данных в бд и нет возможности и желания делать кучу запросов везде и вокруг, то такие ОРМы идут лесом.
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Nik Krapivnitskiy
так в том-то и дело, что далеко не во всех ситуациях нужна прям умная работа с бд. если есть место затычное, его можно реализовать мимо того же ЕФа
ЕФ в селектах ещё куда ни шло, но в апдейтах просто днище полное
источник

DS

Doge Shibu in rust_offtopic
Но проблема в том, что если проект начат на подобных ОРМах, то сделать из него что-то разумное может быть очень сложно в итоге
источник

DS

Doge Shibu in rust_offtopic
Цена их слишком велика по сравнению с тем, какие преимущества они дают
источник

DS

Doge Shibu in rust_offtopic
Цена как и инфраструктурная, так и по перформансу, так и ментальная
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Doge Shibu
То есть если делать стандартный круд без особых требований по перформансу, то сойдёт.

А если нормальные объемы данных в бд и нет возможности и желания делать кучу запросов везде и вокруг, то такие ОРМы идут лесом.
даже в круде это проблемы потому что ты просто так не можешь взять и удалить/обновить данные по непервичному ключу
источник

DS

Doge Shibu in rust_offtopic
Αλεχ Zhukovsky
даже в круде это проблемы потому что ты просто так не можешь взять и удалить/обновить данные по непервичному ключу
Это уже от конкретного ОРМа зависит, но да, такое тоже может быть.
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Doge Shibu
Это уже от конкретного ОРМа зависит, но да, такое тоже может быть.
ну речь шла про еф я и говорю про еф
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
тупо удалить всех юзеров компании Х - это уже приключение
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
нужно все говно сначала селектить а потом юзать RemoveRange, потому что ремув принимает исключительно массив энтити и ни разу не экспрешн для удаления
источник

NK

Nik Krapivnitskiy in rust_offtopic
Doge Shibu
Цена их слишком велика по сравнению с тем, какие преимущества они дают
ну хз. мне вот часто лениво думать на SQLe. на C# проще
источник

DS

Doge Shibu in rust_offtopic
Nik Krapivnitskiy
ну хз. мне вот часто лениво думать на SQLe. на C# проще
Вот это и проблема которую надо решать.
источник

DS

Doge Shibu in rust_offtopic
Потому что потом лечить проблемы с перформансом при работе с бд будет очень дорого и сложно.

Вместо того, чтобы подумать на пару минут подольше над запросом и доставанием данных
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Nik Krapivnitskiy
ну хз. мне вот часто лениво думать на SQLe. на C# проще
работать с данными на SQL в разы проще
источник

DS

Doge Shibu in rust_offtopic
И да, SQL выразительнее IQueryable выходит.
источник

DS

Doge Shibu in rust_offtopic
Современный SQL, если при этом можно ещё на конкретную СУБД завязаться
источник

NK

Nik Krapivnitskiy in rust_offtopic
Doge Shibu
И да, SQL выразительнее IQueryable выходит.
вкусовщина и от ситуации к ситуации
источник

DS

Doge Shibu in rust_offtopic
Nik Krapivnitskiy
вкусовщина и от ситуации к ситуации
У тебя нет массовых update/insert/merge.

Нет CTE, нет хитрых group by, нет оконных функций и т.д. и т.п.
источник

DS

Doge Shibu in rust_offtopic
Нет хинтов
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Nik Krapivnitskiy
вкусовщина и от ситуации к ситуации
ну вот давай простой пример из задачи которую я на прошлой неделе решал
источник