像Dotnet应用程序中的版本控制一样的Sharepoint

时间:2014-11-19 06:16:11

标签: c# .net sql-server sharepoint versioning

我想为我的一个Dotnet应用程序实现版本控制。

我喜欢SharePoint实施版本控制的方式。

我希望版本化与SharePoint类似。

有人能指导吗?

就像我在1个sql表中有10列一样,比如说学生。

我更改了2列 - 比如RollNummber和ClassteacherName,其余8列是相同的。

因此,当我点击版本控制时,我应该只看到已更改的列。

我想存储最近20个版本。

它会影响我的数据库吗?

请建议。

1 个答案:

答案 0 :(得分:1)

我对历史的看法:

  1. 如果主要目的是 ONLY 日志(无还原)更改字段,我的建议是将所有内容存储在HystoryTable上,包含日期,用户等,最后是一个包含所有字段的Varchar(MAX)使用OldValue和NewValue进行更改(可能在字段之间使用特殊的章程以更好地解析字符串以进行显示)

    • <强>临

      • 所有信息一个表
      • 简单干净
      • 不要&#34;损坏&#34;真实数据
      • 简单实施
    • <强>缺点

      • 不简单的还原数据(考虑关系)

    1. 如果主要目的是 ALSO 还原,您可以

      使用FlagDelete或更新rec记录更改同一表内的数据,插入一个新数据并使用特定列上的DateTime标记实际数据。

      • <强>临

        • 相对简单的恢复
      • <强>缺点

        • 您有混合数据(历史数据和实际数据)每个查询必须指定您想要的数据类型(容易出错)
        • 表必须包含大量未使用的数据,这会影响查询性能

        记录更改数据到&#34; Ghost&#34;表与原始结构相同。

      • <强>临

        • 乍一看恢复似乎很简单但你必须与关系战斗(不同的 表)
        • 实际数据与历史数据之间的分离
      • <强>缺点

        • 你必须考虑关系,
        • 您必须同步表结构并考虑关系(外键)
        • 许多表格
    2. 您的选择