質問

GACにインストールせずにカスタム.NETデータプロバイダを使用することができますか?

カスタムDLLを参照して、それを私の構成ファイルの中に登録できますか?

役に立ちましたか?

解決

はい 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 Assemblation

invariant属性で指定された値を使用して、プログラムで登録データプロバイダを参照できます。たとえば、接続文字列のMyNamespace.MyCustomProviderFactoryとしてMyCustomProviderを指定することでado.netを使用するようにado.netに指示することができます:

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

コードでは、 DBProvider Factoriesと同じプロバイダ名を使用できます。 getFactory 方法:

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

providerNamefactoryクラスのインスタンスになる。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top