如何将参数传递给DbMigration.Sql()方法

使用entity framework迁移时, DbMigration基类具有一个Sql方法,该方法接受匿名对象中的参数

我不能为我的生活弄清楚如何使用它。

  Sql(@" UPDATE dbo.SlideSets SET Name = @Name, ", false, new { Name = "Foo" } ); 

导致错误

 System.Data.SqlClient.SqlException (0x80131904): Must declare the scalar variable "@Name" 

这句话的正确语法是什么?

在这种情况下,MSSQL的标准生成器对匿名对象无效。 您需要将参数直接放入命令中。 或者您可以派生自己的并处理它。

我挖掘了EF源代码,似乎根本没有使用这个参数(或者更确切地说是从它创建的MigrationOperation.AnonymousObject属性)!

我已经在他们的问题跟踪器上创建了一张票,要么对它做点什么,要么删除api