Какой ORM я должен использовать для проекта MVC ASP.NET?

Подумайте о том, что вы спрашиваете ... вы хотите связать два разных типа переменных (datetime и double). Да, они имеют реальные отношения в вашем случае использования, но у MATLAB нет «смысла» в том, как связывать разные типы данных.

Преобразуйте ваши данные даты и времени в datenum (т. Е. В два раза), и они должны работать.

7
задан Michael Maddox 4 March 2010 в 12:35
поделиться

9 ответов

Для SubSonic Rob просто выпускает новый шаблон MVC, который можно использовать при запуске нового проекта, который печет много хорошего материала в новый проект MVC включая предварительный выпуск SubSonic 3. Detais доступны на блоге Rob Conery.

6
ответ дан 6 December 2019 в 06:38
поделиться

кривая обучения nHibernate выше, но стоит того. Используйте Быстрый nHibernate для упрощения боли немного. nHibernate менее визуален, что некоторый ORMs, но это - действительно только проблема, когда Вы начинаете и после того как у Вас есть опыт с ним отсутствие визуального разработчика, является преимуществом IMO.

11
ответ дан 6 December 2019 в 06:38
поделиться

Я использую linq2sql, и я думаю, что он абсолютно работает отлично, если Вы используете MSSQL в качестве своей базы данных (он работает над другими базами данных также, но требуются некоторые сторонние инструменты). Да, Microsoft 'прекратила' свою разработку, но это является достаточно сформировавшимся для среднего проекта. Я сомневаюсь, что Вы столкнетесь с любыми стенами. При запуске большого проекта, который необходимо поддерживать в течение последующих лет, то Платформа Объекта могла бы более подойти.

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

2
ответ дан 6 December 2019 в 06:38
поделиться

LLBLGenPro работает отлично для меня. Это - лучший .net ORM там. Я избежал бы Linq к Sql, потому что у Вас будут проблемы, после того как проект растет, и это довольно слабо в функциях (помимо очевидных оборотных сторон, как работы только с SQL Server, и т.д.)

4
ответ дан 6 December 2019 в 06:38
поделиться

Замок ActiveRecord работает действительно хорошо на малые и средние проекты на основе MVC - я использую его на нескольких проектах в данный момент и нахожу это очень подходящим вариантом для ASP.NET MVC.

Это - реализация активного рекордного шаблона, который использует NHibernate под капотом - другими словами, пока Вы - счастливое наличие одного класса таблица для каждой базы данных, это реализует, большая часть конфигурации NHibernate для Вас, оставляя Вас освобождает для написания кода как:

Customer bob = Customer.Find(/* customer Id goes here */);
bob.FirstName = "Robert";
bob.Save();

Invoice newInvoice = new Invoice();
newInvoice.Products.Add(Product.Find(/* product ID goes here */);
bob.Invoices.Add(newInvoice);
bob.Save();

с очень небольшим количеством явной конфигурации NHibernate (принимающий Вас имеют Клиента, Счет и Таблицы product в Вашем DB, конечно),

Поскольку это - NHibernate под капотом, мигрируя на NHibernate, если Вы должны, должно быть простым - у Вас уже будут все необходимые ссылки и библиотеки. Существует несколько аспектов поведения NHibernate, которое Вы не можете проигнорировать (как объемы сессии и сбрасывающий) - но не слишком трудно разработать то, что продолжает их и использует их в ActiveRecord, даст Вам преимущество, если/когда необходимо переместиться в использование NHibernate непосредственно.

1
ответ дан 6 December 2019 в 06:38
поделиться

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

LightSpeed довольно многофункционален, хотя поддержка LINQ пропускает несколько функций ничего серьезного, которые не могут работаться вокруг. Это достаточно близко к совпадению с LINQ к SQL и LINQ к Объектам, но имеет еще несколько функций как Полнотекстовый поиск.

2
ответ дан 6 December 2019 в 06:38
поделиться

Мы используем Быстрый + NHibernate здесь, он работает вполне прилично. Некоторыми альтернативами, которые сцепляются хорошо, является SubSonic, Платформа Объекта и Linq к SQL. Я думаю, что прямой NHibernate является более громоздким, чем это стоит, но является большим нижележащим слоем с замком ActiveRecord, и с Быстрым.

1
ответ дан 6 December 2019 в 06:38
поделиться

Если бы это не огромный проект, я использовал бы Linq Для SQL. Если Вы нуждаетесь во всех дополнительных свойствах, кость на nHibernate и имеете в нем. Я не думаю, что Вы работали в к любым серьезным проблемам так или иначе.

0
ответ дан 6 December 2019 в 06:38
поделиться

Я работал с продуктом, названным netTiers (http://www.nettiers.com/) на проекте, и это работало очень хорошо. Это - сценарий CodeSmith, который генерирует бизнес-объекты от Ваших таблиц базы данных, представлений и хранимых процедур.

0
ответ дан 6 December 2019 в 06:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: