【问题标题】:Entity Framework Core - Custom Migration stopped workingEntity Framework Core - 自定义迁移停止工作
【发布时间】:2021-02-08 02:12:35
【问题描述】:

一段时间以来,我在我的 Entity Framework Core 项目中进行了自定义迁移,该项目创建了一些 SQL 对象 - 存储过程和函数。

看起来像这样:

using Microsoft.EntityFrameworkCore.Migrations;

namespace CaseFlow_API.Migrations
{
    public partial class AdditionalSQLObjects : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            // Functions
            var f_exampleFunction = @"CREATE OR REPLACE FUNCTION public.f_exampleFunction(
    character varying,
    character varying,
    character varying,
    integer)
/*
SOME SQL CODE
*/
";

            migrationBuilder.Sql(f_exampleFunction);
        }

        protected override void Down(MigrationBuilder migrationBuilder)
        {
        }
    }
}

但是现在它停止了工作 - 更新数据库时没有创建函数和过程。我不认为我改变了迁移的创建方式。我通常会做的是我会跑

dotnet ef migrations add Initial
dotnet ef database update

我尝试删除所有迁移,删除数据库,重新创建 AdditionalSQLObjects.cs 类。我不知道如何调试/修复此问题。

你能指出我可以解决这个问题的地方吗?

【问题讨论】:

  • 你的 EF Core 版本是多少?
  • @Julian,现在是 3.1.0

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


【解决方案1】:

好的,自定义迁移终于奏效了。这是我所做的(添加了类属性):

[DbContext(typeof(CaseflowingContext))]
[Migration("CustomMigration_AdditionalSQLObjects")]
public partial class AdditionalSQLObjects : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
        {
          //miration code
        }
}

我不知道发生了什么,因为这种迁移过去在没有属性的情况下也能正常工作,但我会接受。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-27
    • 2019-08-15
    • 2018-11-05
    • 2020-03-09
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多