考虑以下带有相关有效负载信息的多对多连接表:
| (键)FK_File_ID | (键)FK_Status_ID | 日期时间 |
我的问题是给定文件可能会多次进入特定状态。在其整个生命周期。但是,它永远不可能同时处于相同的状态;日期时间将始终确保这两个条目是唯一的。
我的问题是我无法将 DateTime 设置为键,因为如果用户在将文件置于该状态时出错,我需要能够更新它。(目前,我无法控制的客户端程序让用户选择将文件置于该状态的时间)。我正在使用实体框架,如果它被标记为键,它不会让我更新该日期列。
在这种情况下,我应该给连接表它自己的ID
列吗?我不知道这样做是否有后果。如果它有自己的ID
列,我想这意味着主键不再需要复合,现在可以简单地使用该ID
列作为主键吗?
解决这个问题的最佳方法是什么?