如何将参数传递给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