如何在桌面C#/ WPF应用程序中同时支持本地SQL Server CE和远程SQL Server?

时间:2011-03-25 23:54:58

标签: c# sql-server wpf

我正在为客户端开发Windows .NET 4 C#/ WPF桌面应用程序。最初,他们只想要一个独立的桌面应用程序,因此我计划将SQL Server CE用于数据库。现在,他们希望该应用程序还支持应用程序由本地网络上的多个用户运行的环境。

我不确定在我的应用程序中支持这两种环境需要做些什么。这似乎是一种非常常见的情况。处理此要求的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

只要您从配置文件中的连接字符串部分获取连接信息,就可以通过简单地更改连接字符串来切换数据库。以下是SQL Server CE和SQL Server 2008的连接字符串示例:

您可以使用Entity框架(虽然连接字符串包含一些额外的元数据)和普通的ADO.NET。

答案 1 :(得分:1)

您是否可以依赖始终可以访问互联网的用户?简单地让它们通过WCF连接到远程数据库并且根本不使用本地数据库可能更好。

如果您的用户经常与网络断开连接,请考虑使用SQL Server CE客户端代理。这是一个DLL,您可以链接到将连接到IIS服务器代理服务的SQL CE,并与外部数据库合并。每次SQL CE应用程序连接时,它都会获取最新版本的数据,然后断开连接。在MSDN Magazine上有一篇旧文章,我相信SQL CE仍然支持这一点。