На этот вопрос очень сложно ответить, не зная, что вы хотите с ним построить.
Для небольших проектов мой опыт показывает, что вы можете приступить к работе с 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, который имитирует доступ к данным, который вы будете делатьПосмотрите, как легко это настроить).На это легко ответить Да / Нет.