我需要一些关于将
XML用作小型C#应用程序的数据持久性的好方法.这是一个独立的应用程序,用户不共享相同的数据持久性,因此,文件访问是独占的.这就是我首先想到XML的原因.
我知道我的设计模式,所以如果我编写通常的图层,我可以隔离持久性,然后在需要时更改它.然后,它是一个小应用程序,所以我需要快速写它.
我应该只使用Linq来实现XML并克服它吗?如果是这样,如果我决定用嵌入式数据库替换XML,那么我的重写工作会是什么? Linq在写入XML文件时的表现如何?
但如果我不跟Linq一起去,你们会建议什么?
更新
通过我得到的评论,我可能需要指出一点.这是一个供教师使用的成绩单应用程序.这些是我的主要实体:
>学生
>课程
>老师(应该只有一个,但我会因为未来的整合可能性而存储它)
>成绩(学生每门课程可以有一个以上的成绩)
现在有些问题:
>引擎盖下,每个实体应该有一个XML文件吗?
>引擎盖下,我应该使用Linq XML吗?还有什么东西可以考虑吗?
还有一些评论
>我理解我应该在输入和输出上使用IEnumerable< MyEntity>来与“持久性类实例”进行交互.这给了我灵活性.
>虽然我对建议很开放,但我真的不想考虑立即嵌入数据库.这个小应用程序是一个令人兴奋的机会,可以开始工作并在生产中尝试新事物(不仅仅是测试)而且风险很小.
我建议你:
>定义表示需要存储的数据的模型(一个类)(可以是层次结构)
>如果需要,使用序列化序列化或反序列化为XML或二进制甚至JSON.