Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.224.0.25] |
|
Сообщ.
#1
,
|
|
|
всем привет!
использовал ли кто-нибудь сабж в средних и больших проектах? интересно послушать мнение о простоте\удобстве\адекватности\костылях использования данной технологии; если у кого есть опыт - поделитесь пжлст |
Сообщ.
#2
,
|
|
|
По опыту, ORM всякие используют в небольших и средних проектах. В больших DAL и модель бизнес сущностей обычно делают руками
|
Сообщ.
#3
,
|
|
|
в принципе да, именно это я и ожидал услышать
|
Сообщ.
#4
,
|
|
|
Использовал. Удобно. Главое можно описать привязку к таблице в отдельном xml файле, хотя можно и аттрибутами. Поддерживает механизмы блокировки данных(оптимистичкская, пессиместическая). Особенно порадовал HQL. Пример выражения:
CreateQuery("SELECT Name FROM Position AS this WHERE this.Owner.Id=10") Где Position - это класс а Owner - свойство типа User у которого есть свойство Id Кеширование извлечённых обьектов есть. Поддерживает связи между таблицами. Вообщем удобно. Граблей сейчас уже и не помню. Вроде были какието мелкие. А вообще для .NET по моему самая продвинутая ORM Цитата По опыту, ORM всякие используют в небольших и средних проектах. В больших DAL и модель бизнес сущностей обычно делают руками Кстати, а почему? |
Сообщ.
#5
,
|
|
|
Цитата zurmansor @ Кстати, а почему? - много факторов. Часто структура базы не отвечает модели бизнес сущностей, а плясать под дудку структуры базы не всегда хорошо. Часто база содержит уровень API хранимых процедур, а прямой доступ к таблицам через SQL запросы закрыт с точки зрения безопасности Часто уровень ХП базы содержит некоторую бизнес-логику и т д ну и т д ) |
Сообщ.
#6
,
|
|
|
кстати, NHibernate позволяет использовать не прямые запросы к таблицам, а рулить хранимыми процедурами?
|
Сообщ.
#7
,
|
|
|
Цитата deil @ кстати, NHibernate позволяет использовать не прямые запросы к таблицам, а рулить хранимыми процедурами? Нет не позволяет. Есть вариант использовать ORM Nettiers, но она ограничена использованием семейства MS SQL Server (в тоже время остались исключительно положительные впечатления от использования), из перспективных разработок, Microsoft Entity Framework, который вероятно после релиза, сможет работать с широким спектром баз данных. В нем работа с хранимыми процедурами поддерживается на уровне провайдеров, но и там имеется ряд других недостатков, которые судя по всему будут устранены уже в версии 2.0 (1.0 находится в стадии CTP) |