私はタスクに直面しています:
入力: 20 ~ 30 のリレーショナル テーブル (SQL DB) を介して巨大なエンティティを表すデータ モデル。多くの制約 + 参照データ リンクがあります。
タスク: ドラフト モードのサポートを追加します。これは、オブジェクトを任意の状態で保存できることを意味します (必要なフィールドをすべて入力したり、制約を破ったりする必要はありません)。オブジェクトを公開するときは、すべての制約に対してオブジェクトを検証する必要があります。
ドラフトモードを実装する良い方法を知っている人はいますか? クライアントとの契約上、非リレーショナル DB は該当しません。
私は次のことを考えてきました:テーブルを複製し、すべての重複から検証を削除し、パブリッシュ時に行を同じトランザクション内の元のテーブルに移動します。このアプローチは多くのにおいがします。私のシステムでは、すべてのオブジェクトが XML にシリアライズ可能です。それらの状態を DB ドラフト モードに保存できます。