2
我正在开发一个应用程序。客户希望应用程序在两个数据库,SQL Server Compact Edition和SQL Server上运行。如何为SQL Server和SQL Server Compact编写相同的ado.net代码?
现在问题出在数据集中的Visual Studio中,您必须为不同的数据库编写两次。
这会使我的工作翻番。有什么办法可以使用相同的数据集和数据表示代码来与这两个对象进行交互?
我正在开发一个应用程序。客户希望应用程序在两个数据库,SQL Server Compact Edition和SQL Server上运行。如何为SQL Server和SQL Server Compact编写相同的ado.net代码?
现在问题出在数据集中的Visual Studio中,您必须为不同的数据库编写两次。
这会使我的工作翻番。有什么办法可以使用相同的数据集和数据表示代码来与这两个对象进行交互?
通过使用DbProviderFactories
(见http://msdn.microsoft.com/en-us/library/wda6c36e.aspx)有可能在连接字符串的提供者和编写与多个供应商(不同的数据库)运行的代码。
然后确保您的代码使用基类,如DbConnection
和DbDataReader
,而不是提供者特定的类,如SqlConnection
和SqlDataReader
。
http://rajmsdn.wordpress.com/2009/12/09/strongly-typed-dataset-connection-string/ – 2012-04-12 14:47:01
对不起,错字。任何ORM,例如使用实体框架,或尝试使用LINQ ORM,它就像你和数据库之间的数据层。 – 2012-04-12 14:59:34