当使用实体框架迁移时,DbMigration基类具有一个SQL方法,它在匿名对象中取参数

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

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

导致错误

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

此语句的正确语法?

有帮助吗?

解决方案

我挖掘到EF源代码,似乎这个参数(或者朗起来的是从中创建的MigrationOperation.AnonymousObject属性)根本不使用!

我在问题跟踪器上创建了一张票证,以便对此做点什么或删除API

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top