我的要求是:
我在过去几天一直在研究各种选择。最后我考虑缩小到数据集,同时将它们序列化为XML,但似乎这不是一个好主意(我以前的问题的答案强烈建议。)
所以我现在的问题是我应该采用什么方法(数据库和访问技术)?我想使用c#和一种易于使用的技术来访问我的数据库并在一天结束时同步它。
根据这个链接:http://msdn.microsoft.com/en-us/library/8fxztkff.aspx,MS建议两种不同的方法。我很惊讶他们在这里没有提到LINQ。
那么小组,你推荐什么样的路径?
非常感谢阅读。
答案 0 :(得分:6)
添加 - >新 - > “本地数据库缓存”。这应该提供您需要的所有同步(通过ADO.NET Sync Framework),默认情况下由SQL CE运行(IIRC),这是(我相信)免费。
答案 1 :(得分:4)
介绍Microsoft Sync 框架 - 全面 同步平台启用 协作和离线 应用程序,服务和设备 支持任何数据类型,任何 数据存储,任何传输协议和 网络拓扑。
答案 2 :(得分:3)
如果已有SQL Server(标准版或更高版本),则可以使用SQL Server复制服务将数据库的本地副本同步到用户计算机上的SQL Express或SQL Server Compact实例(这两者都是是免费的。
有关详细信息,请try here。
听起来您正在考虑合并复制方案。
答案 3 :(得分:2)
微软有一种模式,他们称之为Occasionally Connected Client。
答案 4 :(得分:2)
到OP:
我将在Sync框架前面给你的一个警告是在整个版本中升级数据库模式。我正在我正在开发的project上使用它,并且我正在启动“2.0”规范,我已经决定将其删除,原因各种各样。
我强烈建议您花时间了解您希望在进展时如何处理架构更改,并确定这是否是您想要的方式。对我来说,这是让系统启动并运行,但现在我正在处理噩梦,我正在成为NIH情景的牺牲品。
我对2.0的看法是继续为客户端使用SqlCE,为SQL使用SQL Server 2008 ...但是基于大量使用反射和一组“DTO”对象来推送我自己的Sync Fx。 / p>