如何对DbProviderFactories进行扩展

NqIceCoffee 2008-03-24 05:24:08
现在的DbProviderFactories不包括对MYSQL的支持

所以我想对其进行扩展,如何进行,请教大侠~~
...全文
270 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoliang556 2009-03-30
  • 打赏
  • 举报
回复
我是个学生老师让我用DbproviderFactories和有关类写个例子
能不能给个简单易懂得谢谢!
simonllf 2008-06-11
  • 打赏
  • 举报
回复
MARK
ReyZhang 2008-03-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 NqIceCoffee 的回复:]
type="System.Data.SqlClient.SqlClientFactory...."

貌似还得写一个工厂
[/Quote]

估计是,帮顶一下
NqIceCoffee 2008-03-25
  • 打赏
  • 举报
回复
MySqlCommand居然没继承DbCommand :(


完了。。。
NqIceCoffee 2008-03-25
  • 打赏
  • 举报
回复
type="System.Data.SqlClient.SqlClientFactory...."

貌似还得写一个工厂
NqIceCoffee 2008-03-25
  • 打赏
  • 举报
回复
有大侠来解释一下这几个属性的含义么。。。。
NqIceCoffee 2008-03-25
  • 打赏
  • 举报
回复
<system.data>
<DbProviderFactories>
<add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="SQL Server CE Data Provider" invariant="Microsoft.SqlServerCe.Client" description=".NET Framework Data Provider for Microsoft SQL Server 2005 Mobile Edition" type="Microsoft.SqlServerCe.Client.SqlCeClientFactory, Microsoft.SqlServerCe.Client, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
<add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>


在mathine.config配置文件中找到了上边相关的配置节
恩,研究一下,没准就是添加一个节点就OK了
ReyZhang 2008-03-25
  • 打赏
  • 举报
回复
再多写一个工厂类,和一个具体类就可以了.看不到你的代码,可能理解有偏差
NqIceCoffee 2008-03-25
  • 打赏
  • 举报
回复
DbProviderFactories已经是一个反射工厂了

还用在写一个吗?

上次在网上见了一个说这方面的东西,大概是意思是修改mathine.config就能达到效果

不知对否。。。。。
ReyZhang 2008-03-25
  • 打赏
  • 举报
回复
只用工厂方法无法达到在不修改代码的情况实现程序扩展

要扩展MYSQL 可以再写一个 MysqlFactory 让它来继承DbFactory (为抽象类或接口)

具体对象的创建也需要一个统一的接口,如 IObeject

伪码

public class MysqlFactory:DbFactory
{
public override IObject CreateInstance()
{
return new Mysql();
}
}


public class Mysql :IObeject
{
........具体的实现
}


可以利用反射实现"依赖注入"
NqIceCoffee 2008-03-25
  • 打赏
  • 举报
回复
:(
NqIceCoffee 2008-03-25
  • 打赏
  • 举报
回复
继续期待ing
NqIceCoffee 2008-03-24
  • 打赏
  • 举报
回复
我想以实现现有的接口的方式来达到扩展到效果

而不是我自己去处理

继续期待ing
NqIceCoffee 2008-03-24
  • 打赏
  • 举报
回复
TKS

在看ing
HarleyTung 2008-03-24
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20070804/21/410dc60c-485b-41a9-8ecb-b669e2e619c8.html

这个也看看
HarleyTung 2008-03-24
  • 打赏
  • 举报
回复
http://tech.goodspeed.com.cn/112266.aspx
NqIceCoffee 2008-03-24
  • 打赏
  • 举报
回复
没人啊

如告知,另加100分

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧