Pregunta

¿Hay alguna manera de hacerse cargo del generador de clases de Entity Framework?Quiero poder tener mi propio generador de clases para poder crear algunas propiedades para llamar a otros métodos al materializarse o hacer que las clases de entidad sean parciales.

¿Fue útil?

Solución

De hecho ya están en clases parciales.Ver MSDN

Otros consejos

System.Data.Entity.Design.EntityClassGenerator, es el tipo utilizado en VS para generar la capa de objeto a partir de su archivo .edmx, y es el tipo utilizado por EdmGen.exe para generar la capa de objeto a partir de un archivo .csdl.A continuación enumeré las 3 formas en que puede afectar el código generado.La tercera opción requiere que usted mismo llame a EntityClassGenerator.Puede hacer que su código se ejecute automáticamente en VS como un SingleFileGenerator al usando esta técnica presentado por Sanjay.

  1. Agregue código a los tipos a través de clases parciales
  2. Agregar código al métodos parciales que son llamados por las clases generadas
  3. Enganche el eventos de generación de código para inyectar código directamente en las propiedades y tipos a medida que se generan.Ver Danny entrada en el blog para un ejemplo

Agregaré que no solo puedes agregar tu propia clase clases parciales a los emitidos por Entity Framework, pero también puedes escribir todos los métodos parciales creado por el código generado.

ES DECIR.Habrá una gran cantidad de código de método parcial al que se llamará, pero el método en sí en el código generado no está realmente implementado.Para eso, puede escribir un método parcial para detectar eventos cuando las propiedades cambian y demás.No es una forma terrible de manejar algunas reglas comerciales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top