LINQ to SQL - использовать или не использовать это вопрос - PullRequest
2 голосов
/ 10 августа 2010

Я из другого языка, и всегда есть разные взгляды на то, что использовать, а что нет.Каково ваше мнение, а также плюсы и минусы, почему стоит использовать или не использовать LINQ to SQL?

Также я обнаружил, что существует LINQ для NHibernate, стоит ли его использовать, если у вас есть NHibernate?еще не установили NHibernate.

Спасибо

Ответы [ 2 ]

4 голосов
/ 10 августа 2010

Скорее всего, я бы не рекомендовал использовать LINQ to SQL.Если вы занимаетесь новыми разработками, я бы порекомендовал ADO.NET Entity Framework .

Это гораздо более актуальная, активно разработанная альтернатива LINQ to SQL, поскольку она получаетMicrosoft уделяет много внимания продвижению вперед.

Что касается LINQ для Nhibernate ... Если вы уже планируете использовать Nhibernate, это дает вам преимущества LINQ.Лично мне очень нравится использовать LINQ в своих проектах, поскольку я считаю, что это делает мой код более быстрым для написания и более легким в обслуживании, поэтому я очень рекомендую это.Я, вероятно, все еще предпочитаю EF, а не Nhibernate для разработки .NET (однако, он встроен в среду, поддерживается MS и т. Д.).

0 голосов
/ 10 августа 2010

На этот вопрос очень сложно ответить, не зная, что вы хотите с ним построить.

Для небольших проектов мой опыт показывает, что вы можете приступить к работе с LINQ-to-SQLочень легко, и с ним легко работать.Тем не менее, ему не хватает некоторых функций (таких как наследование, я считаю).Кроме того, Microsoft прекратила дальнейшее развитие LINQ-to-SQL.

Текущая платформа ORM / Persistence от Microsoft - это Entity Framework 4. Она активно разрабатывается MS;у него больше возможностей, чем у LINQ-to-SQL, и его маркой лучше подходят для приложений корпоративного масштаба.С EF4 вы можете использовать выражения LINQ в своих запросах, как вы можете с LINQ-to-SQL.

Другой вариант - это NHibernate, который я использую для моего текущего проекта, и по моему опыту, это немногообоих миров.Для вас может иметь значение, что это открытый исходный код.С ним легко начать, но будьте готовы потратить некоторое время на изучение более сложных концепций.LINQ-to-NHibernate не совсем зрел в версии, которую мы используем (2.x), но я думаю, что она значительно улучшена в 3.0.Вы можете делать некоторые запросы в LINQ, но хорошо, что вы сможете использовать очень мощный HQL или Criterion API;когда вам это нужно.

На мой взгляд, эти 3 являются крупнейшими претендентами ORM в мире .NET на данный момент.Существует также Subsonic или Castle ActiveRecord;с которым у меня нет опыта;но они должны подходить для небольших проектов.

С учетом всего сказанного вам необходимо тщательно рассмотреть ваши требования к ORM, протестировать некоторые из них (написать код PoC, который имитирует доступ к данным, который вы будете делатьПосмотрите, как легко это настроить).На это легко ответить Да / Нет.

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