Я думаю, это зависит от сценариев.
Сейчас я пишу сервис WCF, моя модель данных не очень сложная, но все таблицы имеют внешние ключи, а связи между таблицами заставляют linq создавать довольно сложное дерево объектов.
С точки зрения клиента не имеет смысла извлекать все это дерево объектов, а также возвращаемое xml-сообщение будет довольно тяжелым (поэтому, если я не изменю максимально допустимое значение размера сообщения, я получаю ошибки).
В этом случае мне пришлось создавать собственные представления для объектов LINQ, чтобы возвращать только те данные, которые клиент ожидает получить. Это довольно болезненно, так как мне пришлось переписывать большинство сущностей, но в итоге я полностью контролирую общение с клиентом.