F#和使用Entity Framework Core的迁移

Woj*_*icz 5 f# entity-framework-core

嗨,我有一个问题,

如果在c#中使用实体框架核心,则能够进行db迁移,如果它在启动时没有退出并且看起来相当简单(使用此文档https://docs.microsoft.com/pl-pl/ef/core/managing-模式/迁移/

 db.Database.Migrate();
Run Code Online (Sandbox Code Playgroud)

db是上下文。

因此在f#中上下文看起来像:

模块GeneralContext

open Microsoft.EntityFrameworkCore
open DataAccess.Model.Cabin
open DataAccess.TypeProviders.DatabaseSettings

type GeneralContext() = 
    inherit DbContext()

    override this.OnConfiguring(optionsBuilder : DbContextOptionsBuilder) =  

        let connetionString = DatabaseSettings.GetDbConfiguration
        optionsBuilder.UseNpgsql(connetionString) |> ignore

    [<DefaultValue>]
    val mutable Cabins : DbSet<Cabin>

    member public this.Cabin
        with get() = this.Cabins
        and set cabin = this.Cabins <- cabin
Run Code Online (Sandbox Code Playgroud)

我尝试:

let Migrate =

   use context = new GeneralContext()
   context.Database.Migrate()
Run Code Online (Sandbox Code Playgroud)

但是我收到消息,未定义字段构造函数迁移。我检查了命名空间,比较了实体框架核心外观的c#和f#项目,它们是相同的,

我在mu nuget中使用Microsoft.EntityFrameworkCore.Tools和Npgsql.EntityFrameworkCore.PostgreSQL

我究竟做错了什么?