2011-08-15 13 views
0

現時点では、その下にデータベースを持つ大きなエンティティデータモデル(.edmx)があります。今私は自分のサイトを使用している人に、その変更を承認した後で、それらのエンティティを編集するオプションを与えたいと思っています。Entity Framework - 変更とロールバックを追跡する

これは、エンティティを「変更」したいが、まだ実際には保存しないことを意味します。変更を受け入れると、変更されたエンティティよりも優先されます。しかし、私がこれをやったときには、その後も変更をロールバックできるようにしたいと思っています。

今、私はいくつかのソリューションを作ってみた:

1)などでエンティティを作成します。[ID]、[ChangeApplyDate] [ChangeApproveDate] [変更前のエンティティ] [変更後のエンティティ] [

2)変更された値を持つ追加のエンティティと "オリジナル"エンティティへのリンクを作成し、現在の承認されたものであればこのエンティティにブール値を設定します。 (これは、新しいテーブルを作成していないだろうが、いくつかの余分な特性を持つ、などの「ブック」テーブルを展開します。

今、私はあなたがそれらの解決策を考える方法を知りたいとあなたが今までこのような何かをした場合?

答えて

0

二つのものがここにあります

  1. すべての以前のバージョンのリストを保持し、この質問に対する私の答えを見てください:。Ideas on database design for capturing audit trails

  2. コンを変更の承認を受け入れる。これを行うには、各テーブルに承認フラグを追加します。このフラグはアクセス権があります。

+0

私はその瞬間にあなたのリンクを読んであげるが、2番目の選択肢で、私は、データベーススペースの巨大な無駄に同じテーブル(ただし、承認フラグ付き)wouldntの中でエンティティの複数のバージョンを持っているでしょうか? – Julian

+0

私はリンクを見て、それは天才の解決策です。ありがとう、これは私のマイルを助けた! – Julian

関連する問題