Me di cuenta de que Entity Framework todavía tiene muchas características "automágicas" en su última versión. Como siempre, esta es una espada verdaderamente de doble filo.¿Puedo deshabilitar las relaciones automáticas en Entity Framework Code First?
Específicamente, estoy usando el evento OnModelBuilder para crear mi modelo sobre la marcha en código usando fluentAPI (http://msdn.microsoft.com/en-us/library/hh295844(v=vs.103) .aspx). Tengo un gran conjunto de entidades y no todas cumplen con los "estándares" de Microsoft. Por ejemplo, mis columnas de ID se denominan Person_id en lugar de PersonId. Como tal, Entity no siempre detecta automáticamente la clave primaria en una tabla, o al menos, parece que no lo hace.
No me importa ser explícito cuando construyo el modelo, pero lo que sí me preocupa es que No estoy seguro de qué propiedades y relaciones Entity detectará automáticamente y cuáles ignorará o identificará erróneamente. Dado que la mayoría de mis entidades también tienen una clase parcial con métodos y propiedades auxiliares (cosas para manejar enumeraciones, etc.), temo mucho que algún día la Entidad creará automáticamente asignaciones entre cosas que no deberían mapearse (la falla podría ser Entidad o algún programador desprevenido).
¿Hay alguna manera de desactivar la función de conexión automática de Entity para que pueda ser 100% explícito en mi método OnModelBuilder? O, como mínimo, ¿cómo puedo saber cuándo necesito agregar detalles de mapeo adicionales (como la necesidad de declarar un campo opcional, o cuando una propiedad de navegación específica no será detectada automáticamente)?
Gracias!
si esto te preocupa, probablemente deberías utilizar los aspectos de "diseño primero" de EF en lugar de las cosas nuevas del "código primero" –
Empecé con el EDMX, por cierto. Estaba tratando de 'actualizar' al código primero pensando que podría ser más fácil de administrar, ya que todo estaría en el código, pero puede que no valga la pena el esfuerzo y la depuración del tiempo. – Brett