2009-05-01 12 views
3

Я хочу использовать инструмент Object Relational Mapper (ORM) для моего приложения ASP.NET. У меня есть три варианта: NHibernate, LINQ to SQL и Subsonic. Какой из них самый быстрый?Какой реляционный картографический объект .NET является самым быстрым?

+3

Каковы требования вашего приложения? Вы хотите, чтобы быстрое решение развивалось или выполнялось быстрее всего после его завершения? – Nick

+0

Я хочу, чтобы быстрый ORM в производительности не разрабатывался –

ответ

8

См. ORMBattle.NET, но обратите внимание на описание проверок эффективности.

Проведя некоторое время на учебе FAQ, также настоятельно рекомендуется.

Короткий ответ: среди этих 3 LINQ to SQL - определенный лидер при чтении, а NHibernate - on пишет. IMHO Subsonic не лучший выбор из любой точки (плохой LINQ, плохая производительность).

1

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

+2

Частично согласен. Но можно сравнить производительность с общим подмножеством функций. LINQ 2 SQL действительно не поддерживает некоторые полезные оптимизации - например, нет будущих запросов и обновлений пакета. Но в целом, это очень быстро - частично, потому что оно тонкое. –

0

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

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

2

Каждый раз, когда вы добавляете слой, вы теряете производительность, но с ORM вы получаете время на продажу, которое во многих случаях более важно, чем угодно, я лично, как LINQ to SQL или CodeSmith LINQ to SQL, имеет множество настроек для производительность, а также позволяет использовать o SP, одна из ключевых моментов моего решения - интеграция с VS, если она не интегрируется, я предпочитаю не использовать ее. Одна очень важная вещь, которую следует иметь в виду: производительность - это большой миф между разработчиками, если пользователи довольны тем, что это не проблема.

-2

Я немного использовал NHibernate, и я думаю, что это немного сложно. Если у вас ничего не развивается в Java, я стараюсь не использовать этот ORM.

+1

Я думаю, что вопрос направлен на .Net, поскольку NHibernate - это .Net-версия Hibernate. –

+1

Какова связь между ORM и Java !? – Rookian

0

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