Wie füge ich einen zufälligen Wert ein, der während einer Code-first Entity Framework-Migration durch den C# -Code generiert wurde? Ich habe eine Spalte mit Seriennummern hinzugefügt, die einen eindeutigen Index enthält. Die Seriennummern haben das Format XXXYYYY-X, wobei X eine Zahl und Y ein alphabetisches Zeichen ist. Die Seriennummern müssen nicht in einer Reihenfolge sein, sie müssen nur zufällig sein (es gibt eine kleine Menge von Datensätzen in der Datenbank, so dass die Möglichkeit, eine doppelte Seriennummer zu erzeugen, klein ist).Zufällige Werte während der EF-Migration einfügen
Ich habe versucht, die folgenden:
AddColumn("dbo.Product", "SrNo", c => c.String(maxLength: 9, fixedLength: true, unicode: false, defaultValue: RandomSerialNo()));
... aber die Migration schafft nur eine Seriennummer und versucht, es für alle Datensätze einzufügen.
Haben Sie schon eine Lösung gefunden? Ich stehe gerade einem sehr ähnlichen Problem gegenüber. Ich möchte eine E-Mail-Spalte zu einer Benutzertabelle hinzufügen und möchte offensichtlich, dass die Spalte eindeutig ist, aber die Migration aufgrund von doppelten Werten (entweder mehrere Nullen oder dieselbe zufällige Zeichenfolge) fehlschlägt. – Christian
Eigentlich nicht. Ich musste die Migration in zwei Teile aufteilen - der erste Teil ändert die Spalte. Dann führe ich manuell ein Skript aus, das sicherstellt, dass die Daten eindeutig sind. Und dann füge ich die eindeutige Einschränkung in einer zweiten Migration hinzu. – Storm