Может показаться, что ваше решение работает, когда у вас очень мало объектов / таблиц базы данных, но оно не масштабируется, и, как вы обнаружили, синхронизация не идеальна.
Не используйте Visual Studio 2008 LinqToSql O / R Designer
Изучив множество альтернатив проблем, которые вы описываете с помощью LinqToSql, я решил вообще отказаться от LinqToSql, так как я не нашел ни одного из обходных путей очень хорошим. У конкурирующих ORM нет таких глупых проблем, как у LinqToSql, и они гораздо более зрелые и многофункциональные.
Я мог бы / должен, вероятно, перечислить некоторые альтернативы, с которыми я столкнулся, но я не хочу тратить время и давать вам ложную надежду, извините.