Мой опыт работы в экосистеме Microsoft:
Я использовал Linq2Sql в нескольких проектах и столкнулся с проблемой «Расслоение», о которой упоминает azamsharp.
Не то чтобы это сильно помогло бы, если бы вы устали отсылать POCO обратно на уровень логики или пользовательского интерфейса, но реализация шаблона Repository немного помогает в решении этой неприятной проблемы с разделением по слоям и разделением задач.
Хороший базовый репозиторий Impl
Для всего, что использует сложную семантику, такую как голосование или статистика (в основном любой объект домена, который должен отображаться или обрабатываться иначе, чем он представлен в базе данных), ADO.Net Entity Framework дает вам некоторые преимущества. Он может упростить вашу бизнес-логику / уровень доступа к данным, включив сложный поиск данных.
Обзор ADO.Net Entity Framework
Надеюсь, это поможет!