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

Posted

技术标签:

【中文标题】如何为 SQL Server 和 SQL Server Compact 编写相同的 ado.net 代码?【英文标题】:How to write same ado.net code for SQL Server and SQL Server Compact? 【发布时间】:2012-04-12 14:43:13 【问题描述】:

我正在开发一个应用程序。客户希望应用程序在两个数据库上运行,SQL Server Compact Edition 和 SQL Server。

现在问题出在 Visual Studio 中的数据集中,您必须针对不同的数据库进行两次编程。

这将使我的工作加倍。有什么方法可以使用相同的数据集和数据表代码与这两个对象进行交互?

【问题讨论】:

rajmsdn.wordpress.com/2009/12/09/… 抱歉,打错了。任何 ORM,例如使用 Entity Framework,或尝试使用 LINQ ORM,它就像您和 DB 之间的数据层。 【参考方案1】:

通过使用DbProviderFactories(请参阅http://msdn.microsoft.com/en-us/library/wda6c36e.aspx),可以在连接字符串中指定提供者并编写适用于多个提供者(不同数据库)的代码。

然后确保您的代码使用DbConnectionDbDataReader 等基类,而不是SqlConnectionSqlDataReader 等提供程序特定类。

【讨论】:

以上是关于如何为 SQL Server 和 SQL Server Compact 编写相同的 ado.net 代码?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 SQL Server 访问配置 ngrok

如何为 SQL Server(Windows 身份验证)配置 Spring XML?

如何为 sql server 配置休眠配置文件

如何为xml节点sql server选择每个值

如何为删除的 SQL Server 合并语句添加 where 条件

如何为每次执行将过程结果存储在 SQL Server 中的新(单个)文本文件中