Come passare i parametri al metodo dbmigration.sql ()
-
21-12-2019 - |
Domanda
Quando si utilizzano migrazioni quadro di entità, la classe base DbMigration
ha un metodo SQL che assume parametri in un oggetto anonimo
Non posso per la vita di me capire come usarlo.
Sql(@"
UPDATE dbo.SlideSets
SET Name = @Name,
", false, new {
Name = "Foo"
}
);
.
Risultati nell'errore
System.Data.SqlClient.SqlException (0x80131904): Must declare the scalar variable "@Name"
.
Qual è la sintassi corretta di questa affermazione?
Soluzione
Ho scavato nel codice sorgente EF e sembra che questo parametro (o piuttosto la proprietà MigrationOperation.AnonymousObject
che sia creata da esso) non sia affatto utilizzata!
Ho creato un biglietto sul loro tracker di emissione per fare qualcosa a riguardo o rimuovere l'API
Altri suggerimenti
Il generatore standard per MSSQL non sta facendo nulla con l'oggetto anonimo in questo caso.È necessario inserire il parametro direttamente nel comando.Oppure puoi ricavare il tuo e gestirlo.