Исторически я был полностью против использования ORMS для всех, кроме самых базовых приложений.Каково текущее состояние ORM?
Мои рассуждения были и всегда заключались в том, что это очень непроницаемая абстракция ... главным образом потому, что SQL предоставляет очень мощный способ для извлечения данных из реляционного источника, который обычно прерывается ORM, так что вы потеряли много чтобы получить видимость отсутствия реляционной базы.
Я всегда думал, что данные всегда должны храниться в базе данных, а не есть память приложений, которая не будет масштабироваться в любом случае. Кроме того, вредоносное воздействие на то, чтобы быть общим, вредно. Например, если мне нужно имя и адрес всех клиентов моей базы данных, SQL предоставляет мне простой способ получить его в одном запросе. С ORM мне нужно получить всех клиентов, а затем каждое имя и адрес, даже если он ленивый, он будет больше LOT.
Это то, что я думаю, но что-то из вышеперечисленного изменилось? Я вижу много ORMS, таких как Entity Framework, NHibernate и т. Д. И в последнее время они, похоже, имеют большую популярность ... Стоят ли они того? Решают ли они проблемы, описанные выше?
+1, так как это мой ответ (само голосование!) – dfa
Я уже прочитал его, но Джефф говорит в основном о Linq to SQL там, и меня интересуют ормы. Я знаю ограничения Linq на SQL и считаю это удобным инструментом КОГДА вы знаете, как использовать его и его ограничения ... но ... могу ли я сказать то же самое об ORM? –
Когда вы говорите «как правило, не проблема с ORM», вы имеете в виду, что они работают быстро или что вы не должны их использовать, если вы нацелены на производительность? –