Digamos que mi objeto tiene un campo Nombre, y deseo dividirlo en los campos Nombre y Apellido. O tal vez tiene una cadena de direcciones y estoy agregando campos Lat y Lng que requieren geocodificación. Etc etc.¿Cómo debo escribir una migración de Entity Framework que transforma los datos (preferiblemente usando el DbContext)?
Esperaba tener acceso a mi DbContext en los métodos Arriba() y Abajo(), pero todo lo que he podido encontrar (además de las funciones integradas) es la llamada .Sql(). Esto es suficiente para agregar y eliminar columnas, pero no para transformar los datos existentes en nuevos formatos.
¿Es seguro hacer referencia a mi DbContext dentro de una invocación hacia arriba()? ¿O hay otro patrón recomendado para implementar migraciones que requieren algo más que SQL trivial?
Mis transformaciones requeridas no se pueden hacer como SQL (dividir varchar fue un ejemplo radicalmente simplificado). Este tipo de operación de migración es muy natural en un ORM tipo pato como ActiveRecord, pero tiene sentido que este sea un área donde el enfoque EF tendría problemas. – Seth