使用实体框架迁移时,DbMigration
基类has a Sql method which takes parameters in an anonymous object
我不能为我的生活弄清楚如何使用它。
Sql(@"
UPDATE dbo.SlideSets
SET Name = @Name,
", false, new {
Name = "Foo"
}
);
导致错误
System.Data.SqlClient.SqlException (0x80131904): Must declare the scalar variable "@Name"
这句话的正确语法是什么?
答案 0 :(得分:9)
在这种情况下,MSSQL的标准生成器对匿名对象无效。您需要将参数直接放入命令中。或者你可以推导自己并处理它。
答案 1 :(得分:8)
我挖掘了EF源代码,似乎根本没有使用这个参数(或者更确切地说是从它创建的MigrationOperation.AnonymousObject
属性)!
I've created a ticket on their issue tracker to either do something about it or remove the api