2010-02-11 2 views
1

Недавно я натыкался на этот с открытым исходным кодом проекта: http://www.codeplex.com/SculptureИспользование скульптуры с NHibernate или Entity Framework

Скульптура представляет собой код-генератор, который позволяет спроектировать модель предметной области, а затем использовать сохраняемости «формы», такие как NHibernate/EF и, вероятно, больше для создания репозиториев. Он заботится обо всех преобразованиях и создании доступа к данным. Похоже, что это чертовски много больше, но я в значительной степени продаю в этот момент. Тем не менее, я хотел бы знать, использовал ли кто-нибудь здесь для реальных решений. Если да, то насколько хорошо он масштабируется? Как сгенерированный DAL работает для вас?

ответ

0

Я бы сказал, что большинство ORM генерируются каким-то образом в этот момент. Я использую Linq-to-SQL для текущего проекта, вы настраиваете свою модель и генерируете код (с атрибутами из модели).

Короче говоря, это ничего нового, и нет оснований отпирать его только потому, что он сгенерирован.
Большинство ORM могут или делают работают таким образом, и они делают это хорошо.

+0

Я не знаю, если я соглашусь с этим. Я не много сделал с L2S, но, насколько я помню, это не POCO. Я имею в виду, что вы можете сопоставить создаваемые объекты L2S с вашей моделью, но это не то, что я ищу. Насколько я могу судить, Sculpture создает подключаемый домен, который может работать с EF и Nhibernate для доступа к данным. Для меня это довольно огромно, но я не много узнал о том, как хорошо это происходит. Это также позволяет моделировать первый дизайн, который, насколько я помню, является противоположностью L2S. – 2010-02-11 03:08:25

+0

@ user68137 На самом деле мы используем вариант Linq-to-Oracle, но вы можете делать все это с генерацией, как раз против конкретного провайдера (например, я могу смоделировать все это, создать базу данных создания). У них может быть много дерьма, что замедляет доступ к данным ... это вполне возможно. Я просто не считаю, что что-то неэффективно ** просто **, потому что оно сгенерировано, есть много контр-примеров. Эффективность также зависит от того, как вы ее используете *, общий пример: запрос таблиц, когда вам не нужно, будет замедлять вас, и вы можете сделать это в каждом провайдере. –

1

Мы взяли это для вращения по новому проекту, который у нас был. Всегда хотелось попробовать nHibernate, но адский хард конфигурационных файлов всегда меня отключал. Пробовал ряд «помощников» этого типа, это проще всего использовать, поэтому мы решили использовать его.

Мне нравятся факты, которые вы можете просто указать на базу данных, и она создаст объект на основе того, что он видит, и будет повторно выполнять запрос по требованию. Также было хорошо, что вы могли добавлять специальные методы к этим объектам и иметь очень хорошо написанный синтаксис для сгенерированного кода, использующего LINQ-To-NHibernate.

Он также сгенерировал проект репозитория сверху, чтобы вы могли использовать этот шаблон дизайна, который мы сделали (снова другая личная цель).

Все получилось очень хорошо, создано социальное (facebook как) сайт для людей с медицинским состоянием, получило все, что полностью работает в течение 3 недель с участием 3 человек.

В целом очень доволен этим - на самом деле купил лицензию на Скульптуру 2.1 Нейферната. (Обратите внимание, с открытым исходным кодом, но не для NHibernate :-) плесенью)

Существует возможность для улучшения для Windows 7 64 бит пришлось работать визуально студию в режиме администратора (мой компьютер только) - не знаю, почему TeamCity непрерывной интеграции были некоторые проблемы с путями к файлам dll - два сгенерированных проекта (ORm и Repository) используют разные пути к базе dll - так необходимо выработать позицию источника в filestore для автоматизации сборки, но отлично работали.

Хотелось бы услышать любые мнения по тому или другому продукту, который люди думает, что лучше ..

Глядя сделать проект, в котором мы будем создавать все объекты в Sculture и получить его для получения/обновления базы данных для нас - будет странно, как мы разработчики БД типа, но будет хорошо, чтобы увидеть, как это работает ..

Благодаря Саймон

+0

Ну, я действительно не пробовал его по проекту, но я создал несколько пресс-форм, чтобы увидеть, что он выплевывает. Хотя мне нравится архитектурное разделение и используемые шаблоны, я думаю, что пресс-форма NHibernate оставляет желать лучшего. Казалось, что в репозитории остались все элементы управления сеансом. Более того, вместо создания нового сеанса он воссоздавал фабрику сеансов в каждом конструкторе репо, что очень неэффективно, особенно для крупных проектов с более крупной моделью. Тем не менее, это, безусловно, самый полезный код, который я видел. Я уверен, что улучшения придут. – 2010-03-25 02:51:50

+0

Спасибо за замечания, очень полезные, я отправлю это на форумы vender, чтобы получить эти проблемы на радаре. Если вы приходите на новый продукт, вам хотелось бы услышать об этом. Большое спасибо Simon –

Смежные вопросы