Я учусь тому, как использовать Ef Core в проекте F #. Я наследую DbContext и просто хочу проверить смысл. Это полезный подход в стиле F #? Использование этого метода наследования и необходимость явной установки свойства connectionString
? Будет ли экспликт первичного конструктора более идиоматическим c для этого?
type TestDbContext =
inherit DbContext
new (conn:string) = {inherit DbContext(); connectionString = Some conn}
new (opts:DbContextOptions<TestDbContext>) = {inherit DbContext(opts); connectionString = None}
val connectionString:Option<string>
member x.ConnectionString
with get() = match x.connectionString with
| Some con -> con
| None -> ""
override __.OnConfiguring (options) =
if not(options.IsConfigured) then
options.UseSqlServer(__.ConnectionString) |>ignore
override __.OnModelCreating modelBuilder = modelBuilder.ApplyConfiguration(TemplateDbBuilder()) |> ignore