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