Você tem 2 escolhas fundamentais aqui:
Codifique primeiro:
Projete seus modelos e "lige-os" aos seus procedimentos que você definiu manualmente.
http ://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx
http://entityframework.codeplex .com/wikipage?title=Code%20First%20Insert%2fUpdate%2fDelete%20Stored%20Procedure%20Mapping
Banco de dados em primeiro lugar:
Aponte o EF para seu banco de dados e os modelos serão criados para você usando seu esquema. Você sempre pode chamar seus procedimentos personalizados usando classes auxiliares etc. Você passaria o modelo EF e extrairia os atributos necessários.
Pessoalmente, prefiro codificar os primeiros objetos POCO simples e conectá-los como achar melhor. Isso lhe dá mais flexibilidade, mas pode ficar fora de controle se você não estabelecer uma arquitetura primeiro e seguir alguns padrões de controle.
Quanto ao desempenho para sistemas de alto volume, semelhantes às abordagens MVC de placa de caldeira Ruby-On-Rails podem se tornar difíceis à medida que crescem. O uso de procedimentos eficientes para CRUD sempre vencerá o SQL dinâmico.