保存每个用户的文件以及相应的数据库/表

时间:2013-07-11 07:24:48

标签: c# .net sql visual-studio-2010 visual-studio

上下文:我正在用Visual C#/ .Net编写一个应用程序,用户可以在这里:

  • 创建新文档文件“Untitled.abc”
  • 添加一些数据/内容,例如图像,文字等
  • 将文档文件保存为“MyDoc7.abc”,其中abc将是我的应用程序特定扩展名。

问题:以下方法是否适合实现上述方法,还是有更简单/更清洁的方法?

  • 我从名为MyDb的SQL-Server数据库开始。
  • 每次用户创建新文档文件时,我都会以编程方式将新数据库表添加到MyDb
  • 新创建的数据库表仅存储用户创建的特定对应文档文件中的数据/内容。
  • 当用户将来重新打开保存的文档文件时,我以编程方式从附加的相应数据库表中读取数据/内容。

更新: 解决了。我将使用这种替代方法:

  • 我从名为MyDb的SQL-Server数据库开始,其中包含一个名为MyTable的表,包括一个名为FileId的列。
  • 每次用户创建新的文档文件时,我都会为文件指定唯一的ID,例如FileId = 5.
  • 当用户向文件添加一条数据/内容时,我将数据存储到MyTable,但也为该条数据存储FileId = 5.
  • 将来,当用户重新打开文件时,我会从MyTable中获取FileId = 5的所有数据。

1 个答案:

答案 0 :(得分:1)

这样做听起来特别糟糕。

  1. 您不想动态创建表格
  2. 如果所有数据都在数据库中,那么该文件是什么?
  3. 我宁愿选择Office使用的方法:

    1. 该文件确实是一个zip存档,其中包含:
      1. 资产(图像等)的文件夹
      2. 包含资产内容和相关链接的实际文件。