C# 琐事游戏数据库

C# 琐事游戏数据库,c#,database,windows-phone-7,storage,C#,Database,Windows Phone 7,Storage,在我的琐事游戏(适用于Windows Phone 7)中,我将有一个问题列表,其中有4个可能的答案,其中只有一个是正确的,以及问题所属的类别。。。所以我决定建立一个数据库,它将有idQuestion,Category,Question,ErrorAns1,ErrorAns2,ErrorAns3,CorrectAns,并存储在本地数据库中。。。但我也希望在我的服务器上有另一个数据库,在那里我将提出新的问题,当用户按下更新问题时,它将从那里检索所有问题,并将它们保存在他的本地数据库中,以便他可以脱机

在我的琐事游戏(适用于Windows Phone 7)中,我将有一个问题列表,其中有4个可能的答案,其中只有一个是正确的,以及问题所属的类别。。。所以我决定建立一个数据库,它将有idQuestion,Category,Question,ErrorAns1,ErrorAns2,ErrorAns3,CorrectAns,并存储在本地数据库中。。。但我也希望在我的服务器上有另一个数据库,在那里我将提出新的问题,当用户按下更新问题时,它将从那里检索所有问题,并将它们保存在他的本地数据库中,以便他可以脱机玩。。。哪种方法最好?

一个好主意是添加一个时间列


当用户更新问题时,更新只会考虑比最近的本地问题更新的服务器问题。

给出一个简单的模式,将数据写入到JSON或XML格式的文件中并将其保存到本地的隔离存储中是非常容易的。 但是,您可能需要做的是将所有答案(错误和正确答案)存储为散列而不是纯文本,并相应地更新应用程序逻辑,以将存储的散列与用户提供的答案的正在运行的散列进行比较(从而防止不择手段的用户试图通过从本地存储中识别答案进行欺骗)

每当用户选择“更新问题”功能时,只需将独立存储中的问题Id与在线数据库中的问题Id进行比较,并将在线数据库中的任何新问题保存到独立存储中。

Oliver的最佳答案(阅读评论)


查看

为什么要将问题存储在两个不同的位置?查看@Jodrell一个本地,一个在我的服务器中,我在其中提出新问题,每次用户按“更新问题”时,都会将新问题传递给他的本地用户database@Oliver所以,简单地说,当用户离线时,它使用的问题是cac他上网时会自动下载更改吗?@Loclip:简言之:是的。你应该查看一下,尤其是描述。只是作为开始步骤,检查它是否符合你的需要。这不是我的问题…我的问题是如何将问题从服务器数据库发送到本地数据库…问题是什么最好的方法?为什么使用json或xml更好?所以当用户按下更新问题按钮时,它将下载json或xml文件并用旧文件替换?