Pergunta

Quando usando o Entity Framework Migrations, o DbMigration classe base tem um Sql método que recebe parâmetros em um objeto anônimo

Eu não posso para a vida de me descobrir como usá-lo.

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

Os resultados de erro

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

Qual a sintaxe correta esta afirmação?

Foi útil?

Solução

Pesquisei o EF código-fonte e parece que este parâmetro (ou melhor, o MigrationOperation.AnonymousObject propriedade que seja criada a partir dele) não é usado em todos!

Eu criei um ticket no issue tracker para fazer algo sobre ele ou remover a api

Outras dicas

O padrão do gerador para o MSSQL é não fazer nada com o anônimo do objeto no presente caso.Você precisa colocar o parâmetro diretamente no comando.Ou você pode obter o seu próprio e lidar com isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top