c# – 是否通过存储库/服务/其他来保留XML / CSV /其他

我有一个应用程序从CSV文件或数据库导入信息并将其导出到
XML.此
XML当前正持久保存到文件中.但是由于项目需求,我认为将XML保存到数据库可能会更好.

目前我有处理导入/导出数据的CSV,XML和SQL存储库. XML存储库将传入的对象持久保存到文件中.它目前是存储对象到XML的映射的地方,因此它是唯一知道此结构的地方(同样,它们各自结构的其他存储库).

现在我想将XML存储在数据库中,我开始质疑这种架构.为了插入数据库,必须可以从SQL存储库访问XML的结构(n.b.其他列中的数据可以与XML一起插入到数据库中).这让我想知道XML表示是应该存储在对象本身,还是存储在服务层或其他地方.

实现此问题的解决方案的最佳方法是什么?

更新:澄清我的问题. XML存储库当前持久存储到文件中.在我看来,这是保持XML结构知识的错误级别,因为我没有灵活性将XML表示持久化到我想要的任何媒介.让对象知道它的XML表示(或CSV表示等)是不是很糟糕的设计?该结构的知识是否应该保持在另一个层面,那将是什么水平?

最佳答案 您是不是只需将XML存储库更改为具有SQL后端.毫无疑问,yopur存储库是什么意思,它们只是用于存储和检索数据的“黑盒子”.在XML存储库中保留秘密的XML知识,并使用SQL后端.

您可以将它链接到您的SQL存储库或保持它独立.

点赞