C# 如何为SQL Server和SQL Server Compact编写相同的ado.net代码?

C# 如何为SQL Server和SQL Server Compact编写相同的ado.net代码?,c#,.net,sql-server,sql-server-ce,C#,.net,Sql Server,Sql Server Ce,我正在开发一个应用程序。客户端希望应用程序在两个数据库上运行,即SQLServerCompactEdition和SQLServer 现在的问题是在VisualStudio的数据集中,您必须为不同的数据库编写两次程序 那将使我的工作量加倍。是否有任何方法可以使用相同的数据集和数据表代码与这两个对象交互?通过使用dbProviderFactorys(请参阅),可以在连接字符串中指定提供程序,并编写与多个提供程序(不同的数据库)一起使用的代码 然后确保您的代码使用诸如DbConnection和DbDa

我正在开发一个应用程序。客户端希望应用程序在两个数据库上运行,即SQLServerCompactEdition和SQLServer

现在的问题是在VisualStudio的数据集中,您必须为不同的数据库编写两次程序


那将使我的工作量加倍。是否有任何方法可以使用相同的数据集和数据表代码与这两个对象交互?

通过使用
dbProviderFactorys
(请参阅),可以在连接字符串中指定提供程序,并编写与多个提供程序(不同的数据库)一起使用的代码


然后确保您的代码使用诸如
DbConnection
DbDataReader
之类的基类,而不是诸如
SqlConnection
SqlDataReader

之类的特定于提供程序的类。任何ORM,例如使用实体框架,或者尝试使用LINQ ORM,它就像您和DB之间的数据层。