我正在尝试在.net核心F#网络应用中设置数据库上下文。作为其中的一部分,我需要将以下内容转换为F#:
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite(Configuration.GetConnectionString("DefaultConnection")));
我的F#版本是:
services.AddDbContext<ApplicationDbContext>(fun (options: DbContextOptionsBuilder) ->
options.UseSqlite(this.Configuration.GetConnectionString("DefaultConnection")))
但是,我收到以下异常:
No overloads match for method 'AddDbContext'. The available overloads are shown below (or in the Error List window).property Startup.Configuration: IConfigurationRoot
问题是什么?
答案 0 :(得分:1)
问题是我没有为ApplicationDbContext添加一个构造函数,它将DbContextOptions作为参数。将默认构造函数更改为
后type ApplicationDbContext(options: DbContextOptions<ApplicationDbContext>) =
inherit IdentityDbContext<ApplicationUser>(options)
我可以编译
答案 1 :(得分:0)
services.AddDbContext<ApplicationDbContext>(fun (options: DbContextOptionsBuilder) ->
options.UseSqlite(this.Configuration.GetConnectionString("DefaultConnection")) |> ignore)