我正在开发一个使用.NET 3.5框架的ASP.Net应用程序。我需要实现一个适用于Oracle和Sql Server以及MySql的提供程序,因为我们要将产品销售给可能拥有这些数据库中的任何一个的客户端,并且应用程序应该能够与任何这些数据来源。实现这个的最佳方法是什么?此外,任何人都可以提供一些示例示例的链接吗?谢谢。
答案 0 :(得分:1)
为什么要为所有数据库编写一个数据提供者?只需编写配置器,帮助客户端通过选择数据库类型和其他数据库属性来配置指定数据库的系统,并通过在配置器中编写指定的dataprovider来更改app.config文件
修改强>
以下是使用DbProviderFactory的方法,您可以在网络中找到更多示例,只需使用此类而不是指定的类Obtaining the DbProviderFactory,Create Provider-Independent Data Access Code with ADO.NET 2.0
答案 1 :(得分:0)
您可以使用企业库 - 它符合提供者模型。它已经有了Oracle和SQL Server的钩子,你可以很容易地将它扩展到任何其他数据库。我们在为DB2工作时做到了。
在此处查看更多内容:http://www.codeplex.com/entlib
答案 2 :(得分:0)
使用.net提供程序模型为每个数据源创建单独的提供程序,并实现一个Inversion of Control Container,如Castle .net或Spring,以确定要使用的提供程序。
或者使用EntityFramework,下面的链接包含一个包含两个不同数据源的整个测试项目。