質問

こんにちは、

私は現在、.NETで書かれた新しいプロジェクトの非常に早い段階にあり、データの永続性/ストレージのためにエンティティフレームワークを使用しています。必要な機能の1つは、特定のモデルタイプを「バージョン」する機能です。たとえば、1つのモデルは、「要件バージョン」を持つ「要件」の1つであり、基本的には、その特定の「要件」インスタンスの歴史/ライフサイクルに戻る方法があります。すべてのリビジョンで静的でなければならない唯一のことは、それが「ID」であることです。他のすべては、要件の生涯を通じて絶対に変化します。

さて、qは、「単に」要件の間に1:nの関係を作成する必要がありますか?他の機能が必要な他の機能は、古い状態を完全に復活させる可能性が現在/最新の状態であることです。マイナーバージョンとメジャーバージョン(変更)などを持つ能力が必要です。最新バージョンの要件のコレクションは、後の時点でその特定のベースラインに戻り、含まれているすべての要件バージョンを表示しますか?

これは最大数百万の要件記録を拡大する必要があり、それぞれに数千の改訂があります。それが、特に私が尋ねている理由です。

バージョン化/ベースラインなどに関して、似たような何かをしたことがありますか?

乾杯&ありがとう、-jörg

役に立ちましたか?

解決

これは、各要件があるデータの量に依存します。

要件に大きなフィールドがある場合(例:要件の説明)。

  1. おそらく、要件自体ではなく、代わりにフィールドをバージョンすることをお勧めします。残念ながら、エンティティフレームワークに対処する簡単な方法はないようです。
  2. 他のソリューション(CMSでこれを行いました)は、要件と要件の説明のために個別のテーブルを持つことです。そのため、その結果、要件と要件が説明できます。

要件が十分に小さい場合は、要件>> requirementVersionを使用できます。ほとんどの場合、重要なデータが拡大することはありません。特に、SQL2008圧縮を利用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top