【发布时间】:2020-05-23 11:26:25
【问题描述】:
我正在为 Authors 表和 Books 表之间的常见一对多关系建模。
按照惯例,一个作者最多可以分配 30 本书。因此,当一位作者获得最大数量的书籍,而另一位想要分配给同一作者时,我必须删除最旧的一本并添加新的。
我可以执行删除最旧书并添加新书以保持 30 书限制的明显操作,但我想知道这是否是一种更直接的方法,或者这是否是这种情况下的常见做法。
【问题讨论】:
-
对数据存储(而不是数据检索)施加这样的限制有点不寻常,所以我怀疑没有普遍的做法;我认为这在一定程度上取决于用户体验应该是什么样的,以及用户是否可能想要决定哪些条目被覆盖。
-
一个想法是为每个作者用 30 行填充表,然后只允许在按“空白”排序时对行进行更新,然后是日期。
-
另外,idea 表有一个 record_deleted 列,值为 1/0,如果每个作者行达到 30 行,则必须更新该列,使用 record_deleted 列上的 where 子句获取 30 行。
标签: mysql entity-framework-core