2012-02-27 211 views

回答

6

,您可以在您的配置文件中添加following section註冊DbProviderFactory類的實現:

<system.data> 
    <DbProviderFactories> 
     <add name="My Custom Data Provider" 
      invariant="MyCustomDataProvider" 
      description="Data Provider for My Custom Store" 
      type="MyNamespace.MyCustomProviderFactory, MyCustomDataProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=" /> 
    </DbProviderFactories> 
</system.data> 

MyCustomDataProvider集沒有在GAC進行註冊,但可以部署連同申請一起作爲private assembly

您可以通過使用invariant屬性中指定的值以編程方式引用註冊數據提供者。例如,你可以告訴ADO.NET在連接字符串中指定MyCustomProviderproviderName使用MyNamespace.MyCustomProviderFactory

<connectionStrings> 
    <add name="ConnString" 
     providerName="MyCustomProvider" 
     connectionString="MyCustomConnectionString" /> 
</connectionStrings> 

在代碼中,你可以用DbProviderFactories.GetFactory方法使用相同的供應商名稱:

DbProviderFactory factory = DbProviderFactories.GetFactory("MyCustomDataProvider"); 

其中factory將是MyNamespace.MyCustomProviderFactory類的一個實例。

+0

這正是我正在做的。我不明白我要去哪裏錯了? – Mackolicious 2012-02-27 15:43:13

+0

您是否嘗試在'type'屬性中指定[完全限定的程序集名稱](http://msdn.microsoft.com/en-us/library/k8xx4k69.aspx)? – 2012-02-27 15:46:15

+0

我忘了將DLL包含在我的啓動項目中。 – Mackolicious 2012-02-28 16:19:22

相關問題