Angenommen, mein Objekt hat ein Feld Name, und ich möchte es in FirstName und LastName Felder teilen. Oder vielleicht hat es eine Adress-Zeichenfolge und ich bin Lat und Lng Felder hinzufügen, die Geocodierung erfordern. Usw.Wie sollte ich eine Entity Framework-Migration schreiben, die Daten transformiert (vorzugsweise mit dem DbContext)?
Ich habe erwartet, Zugriff auf meine DbContext in den Up() und Down() Methoden, aber alles, was ich (neben den eingebauten Funktionen) finden konnte, ist der .Sql() Aufruf. Dies reicht aus, um Spalten hinzuzufügen und zu entfernen, aber nicht, um vorhandene Daten in neue Formate umzuwandeln.
Ist es sicher, meinen DbContext innerhalb eines Up() - Aufrufs zu referenzieren? Oder gibt es ein anderes empfohlenes Muster für Implementierungsmigrationen, die mehr als triviales SQL erfordern?
Meine erforderlichen Transformationen können nicht als SQL ausgeführt werden (das Aufteilen von Varchars war ein radikal vereinfachtes Beispiel). Diese Art der Migrationsoperation ist in einem Duck-ORM wie ActiveRecord sehr natürlich, aber es ist sinnvoll, dass dies ein Bereich ist, in dem der EF-Ansatz Probleme hätte. – Seth