ventajas tutorial que mvc modelo framework first español desventajas crear code c# entity-framework-6

c# - tutorial - mvc entity framework español



¿Cómo puedo usar mis propias clases como clases de modelo de edmx? (1)

Estoy usando EF 6.

Me gustaría utilizar mis propias clases de dominio como clases de modelo de edmx, así que borré las clases de modelo generadas tt y modifiqué la acción de compilación de edmx en Ninguna.

Cuando intento realizar una selección, obtengo MetadataException

DbContext context = new DbContext("name=BaseObjectsEntities"); var u = context.Set<User>().Where(x => x.Id == 1).FirstOrDefault();

Funciona perfectamente con las clases generadas tt model, pero no con mis propias clases.

¿Qué debo hacer o configurar para vincular mis clases con edmx?

ps: mis clases ya tienen sus nombres de clases y propiedades iguales a los de edmx.


Resolví mi problema,

Estos son los pasos que hice:

  • Si aún no lo has hecho

    Crea tus propias clases de dominio;

  • Crear base de datos

    crear tablas

  • Crear Edmx

    Ahora escuche con atención, cuando finalice la creación de edmx, visual studio abrirá edmx en modo de diseño, no guarde, no cierre, no haga nada más que cambiar el nombre de los modelos de entidad y sus propiedades (en el diagrama de bloques que representa el modelo), asegúrese de que el nombre de la entidad y sus propiedades son las especificadas en el dominio, le diré más tarde por qué no guardar o cerrar.

No guarde ni cierre la ventana de diseño todavía, si hace esto y sus clases de dominio están en el mismo proyecto, las clases .tt las sobrescribirán cuando se crea emdx.

Eliminar todo el archivo .tt que se agrega a emdx y no se guarda.

  • Ahora haz clic derecho en Edmx> Propiedades

Borre lo que esté escrito en "Herramienta personalizada" y asegúrese de que la acción de compilación sea EntityDeploy

Cuando elimine el texto escrito en la Herramienta personalizada, haga clic en ingresar y luego en compilar la solución.

Ahora funcionará.

  • Olvidé mencionar que si estos pasos no funcionan, hay un paso secreto:

elimine el proyecto de Visual Studio y de la carpeta del proyecto, recíclelo y reinicie los pasos iniciales.