asp.nt mvc-orm-seperation of concern-interface driven development