ASP.NET MVC + ORM - PullRequest
       29

ASP.NET MVC + ORM

3 голосов
/ 07 октября 2008

Я запускаю проект с использованием ASP.NET MVC и начал создавать свои модели. Поскольку я знаю некоторые Ruby On Rails и хотел бы использовать систему, максимально похожую на Rails Active Record , насколько это возможно.

Кто-нибудь использовал Castle Projects Active Record в приложении ASP.NET MVC (или в любом соответствующем приложении) и у вас есть какой-то опыт, которым можно поделиться?

Правильно ли использовать MVC и Castle Active Record или вы предлагаете вместо этого использовать LinqToSql.

Пожалуйста, поделитесь своими мыслями и опытом, которые вы могли бы получить.

Изменить: уточнить; Я пришел из длинного ASP.NET и C # фона, но немного посмотрел на Rails и люблю, как легко вы можете создать ORM

Ответы [ 7 ]

5 голосов
/ 07 октября 2008

Я использовал Castle Active Record с ASP.NET MVC. Я настоятельно рекомендую эту модель, так как ActiveRecord / NHibernate гораздо более развиты, чем LINQ to SQL или Entity Framework.

Я думаю, что ASP.NET MVC имеет большое будущее и рекомендовал бы его по монорельсовой дороге для новых проектов. Однако, как я уже сказал, ActiveRecord является (на мой взгляд) превосходящей ORM по сравнению с LinqToSQL.

2 голосов
/ 07 октября 2008

В Linq to SQL есть некоторые основные недостающие фрагменты, от которых зависит множество отношений. Если вы идете по «чистому» маршруту Microsoft, посмотрите .net 3.5 sp1 и Linq to Entities, в которых используется новая платформа ADO.net Entity Framework.

2 голосов
/ 07 октября 2008

Исходя из опыта работы с Rails, Castle Project AR будет чувствовать себя ближе к тому, к чему вы привыкли, но Linq to SQL лучше интегрирован со всей экосистемой Microsoft, и вы можете обнаружить, что это стоит дополнительных усилий, чтобы изучить его.

1 голос
/ 07 октября 2008

Вам нужно, чтобы ORM был бесплатным (как в пиве) / с открытым исходным кодом?

В противном случае я настоятельно рекомендую Постоянные объекты eXpress от DevExpress.

Если нет, то я не думаю, что LINQ похож, я не использовал ActiveRecord от Castle, но я думаю, что это наиболее похоже на RoR

1 голос
/ 07 октября 2008

Я использовал Castle ActiveRecord с MonoRail, и он довольно прост в использовании и интуитивно понятен, хотя неизбежные проблемы, с которыми вы можете столкнуться, часто трудно диагностировать. Его документация также не самая лучшая (как и во многих проектах с открытым исходным кодом). По умолчанию он использует NHibernate ORM, и, если вы были специально после использования платформы ORM, я думаю, что были предприняты некоторые усилия для поддержки LINQ с NHibernate, хотя и не знаю, как далеко он продвинулся.

Я думаю, что это также зависит от размера приложения, если его быстрый проект, который не обязательно будет интенсивно поддерживаться, тогда простота использования ActiveRecord может быть удобной, но тогда LINQ также кажется довольно простым и аккуратным , Если бы это было более крупное приложение, я бы рассмотрел возможность создания собственного слоя данных с помощью NHibernate, опять же, если вам нужен именно ORM.

0 голосов
/ 27 ноября 2008

Предпочитайте NHibernate в качестве слоя сохранения.

0 голосов
/ 08 октября 2008

MVC не знает, какой ORM вы используете, или есть какой-то инструмент ORM позади. Контроллер / Action должен отправлять ссылки на объекты в View, чтобы объект мог быть простым int, строковым массивом, DataSet, объектом Linq, объектом ActiveRecord, чем угодно, для View не имеет значения, как какой-то объект заполняется данными!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...