Вы должны думать о LINQ to SQL как об абстракции над написанием SQL непосредственно самостоятельно. Если вы можете обдумать это, тогда вы сделали шаг в правильном направлении. Вам также необходимо отказаться от некоторых давних убеждений, таких как скомпилированные sprocs, всегда быстрее, и учетные записи SQL не должны иметь привилегий чтения / записи данных.
Я обнаружил, что можно начать постепенное перемещение существующих решений в направлении LINQ to SQL, если имеется четкий DAL, и вы просто меняете реализацию, не влияя на контракт, который она может иметь с потреблением кода. Списки ссылок являются простым кандидатом, поскольку они малоэффективны, наборы данных только для чтения. Главное, что вам нужно помнить, если модернизация - это потенциальные неоднозначные имена классов, если вы уже вручную закодировали их для моделирования базы данных.
Учитывая ретроспективность внедрения LINQ to SQL в большое предприятие (начиная с CTP-дней), я бы сделал это снова в одно мгновение. Это не идеально, и есть проблемы, но есть огромные преимущества, особенно когда речь идет о скорости разработки и удобства обслуживания. Это новая парадигма и, безусловно, определенно шаг вперед.