无法设置实体框架核心

时间:2016-11-25 20:08:26

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

我正在尝试在.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

问题是什么?

2 个答案:

答案 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)