![]() |
1
2
这似乎有些过分,但在这种情况下,基本策略是放置一个公共接口,并将它们分离到不同的项目中。不确定这是否是这种情况下的最佳解决方案。 然后不同的项目是独立的(除了公共接口),并且可以很容易地在以后扩展。
首先要做的是创建一个公共接口,以便与适当的数据库引擎进行通信,例如:
接下来,只需为具体实现创建3个独立的项目,一个sqllite、一个sql和一个oracle。
好吧,现在你可以选择其中一个了。
基本上,您已经完成并留下了一个可扩展的、动态引用的数据库提供程序系统。 对于动态程序集解析器,您需要按照本文所述加载它们: https://www.codeproject.com/Articles/1194332/Resolving-Assemblies-in-NET-Core 这实际上会在运行时加载依赖项,因此我最好为此保留一个特殊的路径来放置这些程序集。
|
![]() |
2
2
您只需要创建 数据库上下文 负责配置它而不是 数据库上下文 它自己。 provides a constructor 接受 DbContextOptions选项 . 您需要公开此构造函数:
|
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |