我正在构建一个Windows表单应用程序,它根据3个不同的数据库进行一些分析。其中两个实际上是地理数据库(ESRI),另一个是标准CRUD类型的信息库。我们分别称它们为GeoRefDatabase,GeoResultDatabase和RulesDatabase。将需要访问所有3个数据库的不同类型的分析类(最多可能多达10个)。
例如,我希望能够调用类似的内容:
var dbRef = GetDbRef();
var dbRules = GetDbRules();
var dbResult = GetDbResult( myLocation );
var z = AnalysisTypeA( dbRef, dbResult, dbRules );
现在问题.....
答案 0 :(得分:0)
对于没有移动的两个数据库,它可能是DI的候选者,因为它不会经常移动,但在某些时候可能。
如何在运行时确定要转到哪个其他数据库?
如果您提前知道连接字符串,然后将它们放入一个字符串数组中,然后将其注入,那么您可以选择要使用的数组中的三个或四个连接字符串中的哪一个。您可能希望有两个数组,一个是连接字符串,另一个是数据库的名称,因此您可以将它们放入哈希映射。
将这些放入App.config可能是一个候选人,至少根据我的经验。