Выучите SubSonic до NHibernate или наоборот? - PullRequest
1 голос
/ 13 мая 2009

Мы использовали наш собственный DAL для наших проектов в нашей компании, и для прошедших 2 проектов это вызывает у нас проблемы. Из-за этого я хочу изучать SubSonic и / или NHibernate. Лучше сначала изучать SubSonic или NHibernate? Каковы преимущества / недостатки? Из того, что я прочитал по смежным вопросам, NHibernate более сложный по сравнению с SubSonic, поэтому я хочу начать с последнего.

Ответы [ 5 ]

6 голосов
/ 13 мая 2009

SubSonic значительно проще, чем NHibernate, вы можете начать работать с ним почти сразу (несколько скринкастов, и все готово). В NHibernate вам нужно еще немного поработать - XML-конфигурация, обработка сессий и тому подобное. Так что если вы новичок в ORM, сначала изучите SubSonic, а затем углубитесь в NHibernate. Лично я думаю, что для небольших проектов вы можете даже счастливо закончить с SubSonic:)

2 голосов
/ 13 мая 2009

SubSonic - это Active Record ORM . Если это то, что вы ищете, вы должны сравнить его с другими активными записями ORM, такими как Castle . Замок построен на основе nHibernate, так что ваша команда может расширить полный набор функций, если это необходимо. На этом этапе вы сравниваете яблоки с яблоками, и не имеет значения, с какого вы начинаете.

Если вы не ищете ORM в стиле Active Record, попробуйте начать с Fluid nHivernate, чтобы немного понизить кривую обучения.

1 голос
/ 13 мая 2009

Ответ зависит от множества различных факторов. Если вы изучаете nHibernate, вы открываете себе много возможностей для изучения, но все они окупаются. Sub Sonic может помочь вам быстрее, но он основан на генерации кода, что означает, что у вас есть границы. С помощью nHibernate вы определяете собственное отображение. На самом деле, с отображением Fluent Interface nHibernate, намного проще, проще и быстрее отображать объекты. Существует очень активная группа пользователей текст ссылки

Плюс у вас есть полная гибкость картирования. nHibernate может быть немного трудно начать, но это абсолютно стоит изучить. Я сам написал 2 профессиональных проекта для своих клиентов, использующих nHibernate.

1 голос
/ 13 мая 2009

NHibernate определенно более сложный, но с этой сложностью достигается большая гибкость. Subsonic великолепен, но вы также должны знать, что это в значительной степени проект с открытым исходным кодом, и хотя в настоящее время он стабилен, за ним не стоит активное сообщество разработчиков, как это делает NHibernate.

Еще одна вещь, о которой следует знать, это то, что subsonic - это своего рода «генератор кода», где он на самом деле будет генерировать кучу вещей для вас. NHibernate - это ORM в буквальном смысле, в котором вы отображаете объекты в своей базе данных. Вы можете использовать генераторы кода для генерации отображений для вас, но это принципиально иное представление об ORM.

Лично, если вы посмотрите на subsonic и обнаружите, что в нем есть все, что вам нужно, чем я бы посмотрел на это, или, возможно, даже linq to sql, однако, если вы обнаружите, что сталкиваетесь с более сложными объектными проблемами, то, возможно, NHibernate стоит учиться.

1 голос
/ 13 мая 2009

Я не очень разбираюсь в SubSonic, но недавно я взялся за работу с NHibernate и нашел эту книгу (вероятно, единственную, действительно) очень полезную

...