代码之家  ›  专栏  ›  技术社区  ›  David Archer

使用XML存储数据,我如何使用实体框架?

  •  3
  • David Archer  · 技术社区  · 15 年前

    我正在构建一个有两个选项的程序:离线和在线存储选项。网上的东西不是问题,从来没有,也许永远不会。为了让事情简单一点,我使用实体框架和我的在线数据库来完成我所有的CRUD。

    离线选项是我遇到问题的地方。我试图添加一个本地SQL安装作为安装包的一部分,但它在某些计算机上失败,这取决于我使用的SQL版本,有些人根本无法安装它。。。老实说,我不想仅仅为了让人们安装程序而经历这些。我想做两件事:

    1) 存储数据。我目前认为Linq to XML是我最好的选择,不需要安装额外的东西,但是有没有办法将实体映射到程序中负责XML CRUD的类?

    2) 同步数据。我想我会使用Sync框架,但同样,由于后台没有正常的数据库,这有点麻烦。

    任何帮助/建议/评论都非常欢迎,如果有更简单的方法来做这些,请让我知道。

    1 回复  |  直到 12 年前
        1
  •  2
  •   tinonetic    9 年前

    我很高兴听到你已经为同步逻辑找到了方法。这一点会让我晚上睡不着觉。 GUID 在这种情况下,s是你的朋友。

    我从没试过用1 ObjectContext 针对不同的数据源。也许你可以用 OLEDB 作为你的提供者。我会沿着那条路走一段。但我想你会发现麻烦太多了。

    我建议遵循 Repository Pattern . 然后你就可以实现 XMLRepository 以及 SQLRepository . 这可能意味着一些边界双重编码。但是质疑 XML 与数据库相比,它们有自己的关注点。所以,根据你的具体情况,我认为 DRY 原则可能是合理的。

    另外,我承认这完全是主观的,我觉得实体框架对于一个可以很容易地持久化在XML中的关系模型来说是过分了。我只是好奇你是否考虑过使用LINQ到SQL。如果是的话,是什么说服你走英孚之路?