Я не думаю, что вы должны переместить DAL в WCF. Сервисный уровень WCF может быть способом предоставления подмножества бизнес-логики приложению MVC, вы предоставляете только то, что необходимо, и вы предоставляете только BL, а не DAL напрямую.
Это позволяет очень хорошо отделить технологию DAL и детали (также известные как EF, NH, LINQ ...) от других уровней BL и Service Layer, включая.
См. Мой ответ здесь: MVC3 и Entity Framework Я объяснил, как я представляю себе, чтобы наслоить приложение MVC, изолируя слои и не раскрывая детали DAL никому, даже BL или Service Layer.