自定义.NET数据提供程序
答
是,您可以在您的配置文件中添加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在连接字符串中指定MyCustomProvider
为providerName
使用MyNamespace.MyCustomProviderFactory
:
<connectionStrings>
<add name="ConnString"
providerName="MyCustomProvider"
connectionString="MyCustomConnectionString" />
</connectionStrings>
在代码中,你可以用DbProviderFactories.GetFactory方法使用相同的供应商名称:
DbProviderFactory factory = DbProviderFactories.GetFactory("MyCustomDataProvider");
其中factory
将是MyNamespace.MyCustomProviderFactory
类的一个实例。
这正是我正在做的。我不明白我要去哪里错了? – Mackolicious 2012-02-27 15:43:13
您是否尝试在'type'属性中指定[完全限定的程序集名称](http://msdn.microsoft.com/en-us/library/k8xx4k69.aspx)? – 2012-02-27 15:46:15
我忘了将DLL包含在我的启动项目中。 – Mackolicious 2012-02-28 16:19:22