Cómo pasar los parámetros al método dbmigration.sql ()
-
21-12-2019 - |
Pregunta
Cuando use las migraciones del marco de entidades, la clase de base de DbMigration
Clase Tiene un método SQL que toma parámetros en un objeto anónimo
No puedo por la vida de mí, averiguar cómo usarlo.
Sql(@"
UPDATE dbo.SlideSets
SET Name = @Name,
", false, new {
Name = "Foo"
}
);
resultados en el error
System.Data.SqlClient.SqlException (0x80131904): Must declare the scalar variable "@Name"
¿Cuál es la sintaxis correcta de esta declaración?
Solución
¡Corrí en el código fuente de EF y parece que este parámetro (o más bien la propiedad de GeneracodiCodeGode que se crea a partir de ella) no se usa en absoluto!
He creado un boleto en su rastreador de emisión para hacer algo al respecto o eliminar la API
Otros consejos
El generador estándar para MSSQL no está haciendo nada con el objeto anónimo en este caso.Necesitas poner el parámetro directamente en el comando.O puede derivar su propio y manejarlo.