保存每个用户';s文件以及相应的数据库/表
本文关键字:数据库 文件 用户 保存 | 更新日期: 2023-09-27 18:22:05
CONTEXT:我正在Visual C#/.Net中编写一个应用程序,用户可以:
- 创建一个新的文档文件"Untitled.abc"
- 添加一些数据/内容,例如图像、文本等
- 将文档文件保存为"MyDoc7.abc",其中abc将是我的应用程序特定扩展名
问题:以下方法是否适合实现上述内容,或者是否有更简单/更干净的方法?
- 我从一个名为MyDb的SQL Server数据库开始
- 每次用户创建一个新的文档文件时,我都会用程序向MyDb添加一个新DB表
- 新创建的DB表仅存储来自用户创建的特定对应文档文件的数据/内容
- 当用户将来重新打开保存的文档文件时,我会用程序从所附的相应DB表中读取数据/内容
更新:已解决。我将使用这种替代方法:
- 我从一个名为MyDb的SQL Server数据库开始,该数据库有一个称为MyTable的表,其中包括一个名为FileId的列
- 每次用户创建一个新的文档文件时,我都会为该文件分配一个唯一的id,例如FileId=5
- 当用户向文件中添加一段数据/内容时,我会将该段数据存储到MyTable中,但也会存储该段数据的FileId=5
- 将来,当用户重新打开文件时,我会从FileId=5的MyTable中获取所有数据
这样做听起来特别糟糕。
- 您不想在运行中创建表
- 如果所有数据都在数据库中,那么该文件的用途是什么
我宁愿选择Office使用的方法:
- 该文件实际上是一个zip档案,其中包含:
- 资产(图像等)的文件夹
- 包含内容和资源的相对链接的实际文件