Dê uma olhada na minha resposta aqui:MVC3 e Entity Framework
na verdade essa lógica de camadas e separação de interesses se aplica a MVC, WinForms, WPF, SL e assim por diante... em tal pilha em camadas apenas o DAL (Data Access Layer) é impactado e precisa ser atualizado, todo o resto permanece o mesmo .
minha sugestão é fazer essa biblioteca de classes DAL separada de qualquer outra coisa e lá, como você mencionou, você deve substituir
SqlConnection
e SqlCommand
com os oráculos.