C# ef core 3:如何迁移Microsoft.EntityFrameworkCore.Design.Internal.CSharpHelper?

C# ef core 3:如何迁移Microsoft.EntityFrameworkCore.Design.Internal.CSharpHelper?,c#,entity-framework-core,entity-framework-core-3.0,C#,Entity Framework Core,Entity Framework Core 3.0,EF Core 3中缺少Microsoft.EntityFrameworkCore.Design.Internal.CSharpHelper 我使用它来支持sql server约束安装/卸载EF核心迁移 public class MyCSharpHelper : CSharpHelper { public MyCSharpHelper (IRelationalTypeMappingSource relationalTypeMappingSource) : base(relationalT

EF Core 3中缺少Microsoft.EntityFrameworkCore.Design.Internal.CSharpHelper

我使用它来支持sql server约束安装/卸载EF核心迁移

public class MyCSharpHelper : CSharpHelper
{
    public MyCSharpHelper (IRelationalTypeMappingSource relationalTypeMappingSource) : base(relationalTypeMappingSource)
    {

    }

    public override string UnknownLiteral(object value)
    {
        if (value is MyConstraint[] constraints)
        {
            return ConstraintManager.ProcessConstraintLiteral(constraints);
        }
        return base.UnknownLiteral(value);
    }
}

这在EF Core 3中应该是什么样子?

Microsoft.EntityFrameworkCore.Design现在是一个开发依赖项包,这意味着它不会与您的应用程序一起部署,您也不能在代码中引用它


如果您需要自定义设计时服务,则必须在项目中编辑PackageReference,如下所述:

AFAIK CSharpHelper仍然是一个公共类@Kexybique,但它未包含在Microsoft.EntityFrameworkCore.Design包中(并且没有新的Microsoft.EntityFrameworkCore.Design.Internal包):-(Microsoft.EntityFrameworkCore.Design中根本没有Microsoft.EntityFrameworkCore.Design.Internal命名空间