【发布时间】:2021-03-20 17:13:46
【问题描述】:
首先,如果我的问题之前已经有人提出过,我很抱歉。但是我有google,看了一个月左右的很多文章还是不满意。
我的情况比较特殊。假设我有两个表:Ticket 和 Member 具有 1:n 的关系。我使用 React、.NET 5、Entity Framework Core 和 rest 进行通信。但特别的是我没有通过 Entity Framework Core 显式配置它的关系。这意味着在数据库中,表成员仍然有对 Ticket 的外键(ticketId)引用。但没有显示在代码中。
当我尝试创建工单时出现问题。因为票总是包含成员列表。目前我有两种方法。
- 定义一个类似 api/tickets 的路由并发送一个包含我需要创建的路由的所有数据的对象。例子:
ticket:{id: 1, .... , members: []}。 - 定义 2 个单独的路由 api/tickets 和 api/members 并将单个数据发送到每个路由以进行创建。
第一种方法是确保数据总是同时成功或失败(我在后端使用事务来执行此操作)。但这似乎不是休息的最佳做法。 第二种方法似乎遵循最佳实践。但是,如果其中一项行动失败了,会发生什么。我不能像第一次那样回滚。
所以我的问题是我该如何处理它。这意味着我想遵循 Rest 的最佳实践,并且还需要数据完整性。我真的很感激。它对解决我当前的问题很有帮助。
【问题讨论】:
标签: reactjs rest asp.net-core entity-framework-core