实体框架核心上没有CreateStoredProcedure方法

Rad*_*Zec 5 c# entity-framework-core asp.net-core

我想使用Migration Builder创建存储过程,但是没有

CreateStoredProcedure

像这样的Migration类中的方法。

public override void Up() 
{
  CreateStoredProcedure(
    "MyStoredProcedure",
    p => new
    {
        id = p.Int()
    },
    @"SELECT some-data FROM my-table WHERE id = @id"
  );
}

public override void Down() 
{
  DropStoredProcedure("MyStoredProcedure");
}
Run Code Online (Sandbox Code Playgroud)

如何使用Entity Framework Core在迁移中创建存储过程?

Eri*_*kEJ 7

使用可以使用migrationBuilder.Sql()方法在EF Core迁移中执行任意SQL

  • 奇怪的是,如果您要迁移的仅包含存储的proc(无模型更改),那么迁移历史记录表将不会更新。这会导致随后的任何迁移问题。为了解决这个问题,我只需要在存储过程的同时插入一个迁移历史记录条目即可。 (3认同)
  • 仅供参考,我没有上述问题,仅在创建存储过程时未输入迁移历史记录条目。这是 EF Core 2.2。 (3认同)