【问题标题】:Can we open two DB providers at a time?我们可以一次打开两个数据库提供程序吗?
【发布时间】:2015-03-31 13:55:33
【问题描述】:

想知道是否可以在一个应用程序中同时打开两个数据库提供程序?

我知道提供程序模型,但这将有助于一次提供一个数据库提供程序初始化。我们如何制作两个/多个?

或者其他方式?

【问题讨论】:

  • 你的意思是,两个连接到同一个数据库,还是两个不同的数据库?
  • 当您说“DB Provider”时,您是在谈论实体框架、SqlConnections 还是完全其他的东西?

标签: c#


【解决方案1】:

是的,这是可能的,这是一个例子:

 <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient"></remove>
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0" />
      <remove invariant="System.Data.SqlServerCe.4.0" />
      <add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    </DbProviderFactories>
  </system.data>

那么就可以通过名字获取provider factory:

DbProviderFactory factory =
                DbProviderFactories.GetFactory(providerName);

            connection = factory.CreateConnection();

您可以在此处找到更多信息: https://msdn.microsoft.com/en-us/library/dd0w4a2z%28v=vs.110%29.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2021-06-25
    • 2016-10-16
    • 2021-12-18
    • 1970-01-01
    相关资源
    最近更新 更多