Tengo Visual Studio 2010 e instalé el complemento de MVC 4. Generé mi aplicación MVC 4 y generé al ADO.NET EntityObject desde una conexión de base de datos. La tabla UserProfile fue cambiada agregando más campos personalizados.
Al ejecutar ka aplicación por default y tratar de ingresar a la sección login me arrojaba el siguiente error:
“The type ‘….Models.UserProfile’ was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject.”
Resulta que el MVC 4 no acepta clases entidades heredadas del tipo EntityObject. Para corregir este error hay varias formas, pero la más “fácil” es la de instalar el complemento “EF 4.x DbContext Generator for C#” que se puede descargar aquí.
Una vez instalado y reiniciado el VS 2010 procede a seguir las instrucciones indicadas en dicha página: se da click derecho sobre el editor modelo .edmx , se selecciona Add Code Generation Item… y en Installed Templates -> Visual C# -> Code, se selecciona EF 4.x DbContext Generator. Se le da un nombre al modelo y se pulsa el botón Add.
Manda un aviso de Security Warning, que puede ser ignorado pulsando “OK”. Y listo Crea un modelo de datos con la extensión .tt con clases por separado de las entidades de la base de datos.
Listo, el error antes descrito se fue.
¡Saludos!