関連するペイロード情報を含む次の多対多結合テーブルを検討してください。
| | (キー) FK_File_ID | (キー) FK_Status_ID | 日時 |
私の問題は、特定のファイルが特定のステータスに複数回置かれる可能性があることです。その生涯を通じて。ただし、同時に同じ状態になることはありません。Datetime は、2 つのエントリが一意であることを常に保証します。
私の問題は、ファイルがそのステータスになった時刻をユーザーが間違えた場合に更新できるようにする必要があるため、DateTime をキーとして設定できないことです。(現在、私が制御できないクライアント プログラムでは、ファイルがその状態になった時刻をユーザーが選択します)。キーとしてマークされている場合、その日付列を更新できないエンティティ フレームワークを使用しています。
この場合、結合テーブルに独自のID
列を指定する必要がありますか? そのようなことをすることによる影響があるかどうかはわかりません。独自のID
列がある場合、それは主キーを複合する必要がなくなり、ID
列を主キーとして単純に使用できることを意味すると思いますか?
この問題に取り組む最善の方法は何ですか?