Вы смешиваете две вещи. LINQ to SQL - это инструмент O / RM, такой же, как NHibernate, Entity Framework, LLBLGen и другие. T4 - это инструмент для генерации кода. Они не являются взаимоисключающими.
Существуют шаблоны T4 для LINQ to SQL, которые позволяют генерировать сущности LINQ to SQL, и DataContext
не так, как генератор кода LINQ to SQL. Однако использование LINQ to SQL без DataContext
невозможно. Когда вы не используете DataContext
, вы не используете LINQ to SQL.
Использование шаблонов T4 для создания сущностей и, однако, DataContext
может быть полезным. Вы ознакомитесь с преимуществами конкретного шаблона и решите, полезен он для вас или нет. Например, проект шаблона L2ST4 в codeplex очень похож на код, который L2S сгенерирует сам, но позволяет вам изменять шаблон для ваших собственных нужд.