【问题标题】:No CreateStoredProcedure method on Entity Framework CoreEntity Framework Core 上没有 CreateStoredProcedure 方法
【发布时间】:2016-11-08 10:56:15
【问题描述】:

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

创建存储过程

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");
}

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

【问题讨论】:

  • 这还不是一个功能。所以 ado.net 是一个选项stackoverflow.com/questions/28599404/…
  • 我知道如何从实体框架调用存储过程。我想使用实体框架迁移在数据库中创建存储过程。

标签: c# asp.net-core entity-framework-core


【解决方案1】:

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

【讨论】:

  • 奇怪的是,如果您的迁移只包含存储的过程(没有模型更改),那么迁移历史表将不会被更新。这会导致任何后续迁移出现问题。为了解决这个问题,我只需在存储过程的同时插入一个迁移历史条目。
  • 仅供参考,我没有上述问题,仅在创建存储过程时未输入迁移历史记录条目。这适用于 EF Core 2.2。
  • 我遇到的问题是,如果我尝试这样做,它会中断,因为我不允许在存储过程中创建存储过程......
猜你喜欢
  • 2023-03-03
  • 2022-01-13
  • 1970-01-01
  • 1970-01-01
  • 2017-03-24
  • 2018-09-27
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多