我有以下情况:
服务器
客户端
要求
可能的解决方案
问题
我对你的想法很感兴趣。谢谢!
答案 0 :(得分:0)
我认为Microsoft Sync Framework不合适,因为您有不同的架构。我还可以想象您有一些关于允许更改哪些数据以及如何同步数据的业务规则。
DataSet和Entity Framework之间的选择取决于您的需求。当您真正使用对象模型时,会出现一个Object-Relation-Mapper来查看。
如果您的域足够复杂并且您拥有使用完整的领域模型的知识,那么它肯定是一个很好的解决方案,可以很好地扩展并处理复杂的项目。 如果您的项目稍微简单,并且您不想构建域模型,则可以选择DataSet。
就我个人而言,我认为将域建模和实体框架作为ORM学习,这是项目的不错选择。当您有足够的使用这些技术的经验时,您甚至会喜欢它们在小型项目上。
关于您使用EF原型的问题。
由于客户端和服务器的数据模式不同,我会使用自定义数据传输对象在两者之间移动数据。这样,您可以将对象模型分离,并且它们可以彼此独立地更改。
客户端知道有关数据更改的所有信息。因为它具有服务器数据的本地表示,所以它知道是否添加,更改或删除了数据。为什么不将这些知识添加到服务器调用中?如果您在DTO中使用一个字段来说明该对象是否已添加,修改或删除,则服务器将不必检测到该字段。