2010-06-15 29 views
5

Tengo la intención de ampliar los constructores de algunas de las entidades en mi Entity Framework (4).Entity Framework .. constructor parcial

Sin embargo, ¿cómo me aseguro de que mi constructor se ejecute después de que el modelo se haya ejecutado? es decir, quiero asegurarme de que el objeto contiene los datos de la base de datos antes de trabajar en él en mi constructor.

+5

Debería considerar marcar algunas respuestas en sus (muchas) preguntas. Esto probablemente lo ayude a recibir más respuestas de calidad. Simplemente pulse la marca de verificación cerca de las respuestas apropiadas a sus preguntas. –

+0

No sé sobre sus otras preguntas, pero esta no tiene una respuesta ... – hminaya

+0

posible duplicado de [Modelo EF 5 Primera clase personalizada Constructora personalizada ¿Cómo?] (Http://stackoverflow.com/questions/14485052/ef-5-model-first-partial-class-custom-constructer-how-to) - existe una gran solución que implica la edición de las plantillas T4. –

Respuesta

1
+2

Gracias Pavel Cadena de construcción No creo que ayude. El marco de la entidad crea: clase parcial ABC { \t ABC() {} } creo: clase parcial ABC { \t ABC() {hacer algo aquí} } Quiero que mi Se debe llamar al constructor después de la entidad framwork one ... para que el objeto se llene con datos para que pueda 'hacer algo aquí' con él ... – Adam

+0

no se distribuye muy bien en esta área de comentarios .. lo siento – Adam

+1

No se puede hacer eso, lo siento No puede tener la mitad de un método (o constructor) en un lugar, y la otra mitad del mismo método (o constructor) en otro lugar; no es lo que hacen las clases/métodos parciales. –

2

No hay constructor generado además del predeterminado; los objetos se crean a través de un método de fábrica y simplemente se inicializan después de la construcción.

Puede escribir su propio constructor predeterminado, y el código generado lo llamará antes de inicializar todas las propiedades generadas. Si escribe su propio constructor no predeterminado, también tendrá que escribir su propio constructor predeterminado o, de lo contrario, el archivo de diseñador no se compilará, ya que supone que existe un constructor predeterminado.