Ich habe ein MVC5
Projekt und ich befüllte meine Tabellen in die Datenbank über Entity Framework 6 - Code First
Migration. Wenn ich auf die Tabellen schaue, sehe ich, dass einige Zeichen nicht korrekt angezeigt werden und Database Collation
ist SQL_Latin1_General_CP1_CI_AS
statt French_CI_AS
.Datenbanksammlung nach der Migration ändern?
1) Was vorgenommen werden soll, die Database Collation
beim Erstellen Datenbank über Code First
zu setzen? Ich habe die folgende Methode gefunden, bin mir aber nicht sicher, ob es die beste Option für diesen Zweck ist?
public override void Up()
{
Sql("ALTER DATABASE [YourDB] COLLATE [YourCollation]", suppressTransaction: true);
[...Your DB Objects Creation codes here...]
}
Auf der anderen Seite, wenn Sie dieses Skript verwenden, in denen ich Fehler „ALTER DATABASE fehlgeschlagen. Die Standardsortierung der Datenbank‚DbName‘zu French_CI_AS werden nicht eingestellt“.
2) Ist es möglich, die Database Collation
(über Code First oder SQL) nach dem Hinzufügen von Daten zu den zugehörigen Tabellen zu ändern?
Jede Hilfe willkommen ...
Vielen Dank. Nur eine Frage: ** Was genau ist subpressTransaction ** und ** wann sollte auf wahr und falsch gesetzt werden **? Könntest du bitte ein bisschen mehr erklären? – hexadecimal
Von [msdn Referenzseite] (https://msdn.microsoft.com/en-us/library/system.data.entity.migrations.dbmigration.sql (v = vs.113) .aspx): 'suppressTransaction': "Ein Wert, der angibt, ob die SQL-Anweisung außerhalb der für den Migrationsprozess verwendeten Transaktion ausgeführt werden soll. Wenn kein Wert angegeben wird, wird die SQL-Anweisung innerhalb der Transaktion ausgeführt." Im Allgemeinen möchten Sie, dass alle Sätze in der Migration als eine Transaktion ausgeführt werden. Andernfalls könnten Sie die Ausführung der Migration nicht sicher wiederholen, wenn etwas fehlschlägt. Ich habe nie ein Szenario gefunden, als ich es auf "wahr" setzen wollte. – Diana
Bueno, Muchas Gracias Senorita :) – hexadecimal