functional-programming - 具有多个构造函数和属性的 F# DbContext 继承
问题描述
我正在学习在 F# 项目中使用 Ef Core 的方法。我继承了 DbContext,我只是想要一个感觉检查。这是 F# 方式的有用方法吗?使用这种继承方法,并且必须显式设置connectionString
属性?一个显式的主构造函数会更符合这个习惯吗?
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
解决方案
推荐阅读
- auc - 在 SQL 中计算 AUC
- formula - 在 Tableau 中,如何找到一组数字的最大值与最大值之后的数字的平均值之间的差异?
- jsf - h:datatable 中每一行的动态颜色
- python - Python2.7:为什么 While 循环变量不复制数组?
- python - 在 IIS 上托管简单的 Python Flask Web 服务
- visual-c++ - 如何让 VC++ 为 COM 对象自动生成瘦智能指针包装器?
- sql - 日期转换在 where 子句中不起作用
- c# - 将数据网格中导入的 excel 数据保存到 sqlite 数据库
- reactjs - 如何处理存在于一个重载中而不存在于另一个重载中的属性?
- python - 有没有一种有效的方法可以将参数从输入文件传递给函数?