Hey nathan, buona domanda.
Come altri hanno già detto, la cosa migliore da fare è astrarre tutti i metodi GET/WRITE e nascondere completamente DataContext dalla tua Business Logic.
Il mio approccio a questo è stato quello di scrivere un DAL con una serie di metodi generici che utilizzano la riflessione per fare tutto ciò che è necessario.
In questi casi, una volta che il metodo riceve un oggetto, ad esempio "Prodotto", può fare tutto ciò che vuole internamente indipendente dalla vostra tecnologia ORM/Data Access. Se vuoi, potresti letteralmente scrivere una stringa SQL basata su pochi parametri e riflessi dell'oggetto.
TUTTAVIA, fare questo da solo non ti elimina completamente da LINQ a SQL.
Il problema sono davvero le entità stesse. Anche se si astragga il metodo per recuperare i dati, si continueranno a utilizzare tali Entità fino alla logica aziendale.
Mi sembra, al momento, questo è solo qualcosa con cui sono pronto a convivere, perché riscrivere le mie Entità sconnesse sembra un ponte che non sono ancora pronto ad attraversare, solo perché sembra un molti lavori non necessari ...
Sarei molto interessato a vedere come gli altri affrontano questo però.
evviva!
Marc, bel post sul blog. +1 –