So übergeben Sie Parameter an die DbMigration.Sql()-Methode
-
21-12-2019 - |
Frage
Bei Verwendung von Entity Framework-Migrationen ist die DbMigration
Basisklasse verfügt über eine SQL-Methode, die Parameter in einem anonymen Objekt entgegennimmt
Ich kann beim besten Willen nicht herausfinden, wie man es benutzt.
Sql(@"
UPDATE dbo.SlideSets
SET Name = @Name,
", false, new {
Name = "Foo"
}
);
Führt zum Fehler
System.Data.SqlClient.SqlException (0x80131904): Must declare the scalar variable "@Name"
Wie lautet die korrekte Syntax dieser Anweisung?
Lösung
Ich habe mich im EF-Quellcode umgesehen und es scheint, dass dieser Parameter (oder besser gesagt der MigrationOperation.AnonymousObject
Die daraus erstellte Eigenschaft wird überhaupt nicht verwendet!
Andere Tipps
Der Standardgenerator für MSSQL macht in diesem Fall nichts mit dem anonymen Objekt.Sie müssen den Parameter direkt in den Befehl einfügen.Oder Sie können Ihr eigenes ableiten und damit umgehen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow