Os objetos gerados por LINQ to SQL podem ser dissociados?

Eu gosto do LINQ to SQL, mas parece que as classes que ele gera estão fortemente acopladas ao banco de dados em que estão armazenados, o que parece uma coisa ruim.

Por exemplo, usando o velho banco de dados Northwind, se eu criar o dbml com a tabela Products, umProduct classe é gerada. Posso usar essa classe em qualquer outra camada, o que é ótimo, mas se eu decidir que prefiro usar o ADO.NET antigo (ou alternar os bancos de dados), terei que recriar oProduct classe, juntamente com todos os outros "modelos".

Existe uma maneira de contornar isso? Ou para criar seus modelos de objetos separadamente e, em seguida, mapear as tabelas para eles? Eu brinquei com as várias classes de mapeamento fornecidas, mas ainda não encontrei uma resposta satisfatória.

questionAnswers(7)

yourAnswerToTheQuestion