Μάλλον έχεις παρεξηγήσει τί είναι το MVC. Δεν έχει τίποτε να κάνει με το data layer και συνεπώς δεν επηρεάζεται από την επιλογή Entity Framework ή LINQ to SQL. Το MVC είναι ένας τρόπος να ξεχωρίσεις τα δεδομένα και το buziness functionality μίας εφαρομγής (M) από το UI (V) χρησιμοποιώντας μία ενδιάμεση κλάση-τροχονόμο (C). Το Entity Framework και το LINQ to SQL αφορούν το data layer, το οποίο βρίσκεται κάπου πίσω από το μοντέλο. Οποιαδήποτε τεχνολογία να χρησιμοποιήσεις στο data layer, EF, LINQ to SQL, DataSets, ακόμα και .... Raw Sockets η υλοποίηση του MVC δεν θα επηρεαστεί.
Η ερώτηση σου έχει νόημα αν αυτό που ζητάς δεν είναι πως να υλοποιήσεις το MVC αλλά το domain model. To domain model παρότι χρησιμοποιείται συχνά μαζί με το MVC, είναι ένα ανεξάρτητο pattern. Για παράδειγμα, μπορείς να χρησιμοποιήσεις domain model για να υλοποιήσεις ένα web service. Σε αυτή την περίπτωση έχει νόημα να ρωτήσεις τί περιορισμούς σου επιβάλει το EF και τί το Linq to SQL. Και η αλήθεια είναι ότι και τα δύο .... σε περιορίζουν πολύ. Αν δεν θέλεις όμως να χρησιμοποιήσεις κάποιο από τα άλλα ORMs όπως το NHibernate, το Entity Framework είναι καλύτερη μακροχρόνια επιλογή, αν και θα πρέπει να υλοποιήσεις εσύ τις λειτουργίες που λείπουν ενώ υπάρχουν στο LINQ to SQL.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos