Confusão IRepository em objetos retornados

Eu tenho algum código de comércio eletrônico que uso com freqüência que usa o Linq To SQL para salvar pedidos no banco de dados. Eu quero remover o bit Linq to SQL firmemente acoplado e passar um IRepository, mas ainda estou um pouco confuso com as coisas.

Digamos que eu tenha um método GetCustomer () no meu ICustomerRepository que retorne um objeto Customer.

Preciso realmente retornar um objeto ICustomer que seja passado de volta a partir desse método; portanto, se eu mudar do Linq para o SQL para dizer SubSonic, não há problema?

Acredito que sim, se esse for o caso, existe uma maneira no Linq To SQL de converter facilmente meu objeto Linq To SQL Customer em meu objeto ICustomer como o método SubSonics ExecuteSingle (Of)?

questionAnswers(3)

yourAnswerToTheQuestion