【问题标题】:Best Practice To Manage One To Many Insertions on Entity Framework Core在 Entity Framework Core 上管理一对多插入的最佳实践
【发布时间】:2020-01-10 17:33:24
【问题描述】:

我们目前正在开发一个 .Net Core 控制台应用程序,该应用程序使用 Web 服务来获取数据并将其异步插入数据库。

Web 服务返回一个对象 - 为了简化问题,我们称它为 Orders - 有一个 CountryDateOrdered按字段。在我们的数据库中,我们有一个 CountriesOrders 表,它们具有一对多的关系。

当应用启动时,它会将国家/地区列表存储在静态列表属性中。当返回来自 web 服务的新订单时,检查当前 List 属性中是否存在 country 字段以从中获取 Id 字段。如果它不存在,则将一条新记录插入到数据库中,并使用辅助方法更新 List 属性。这种情况在单线程中没有任何问题。但是,当我们发出 Web 服务请求并异步更新数据库时,每个异步任务都会独立更新 List 属性,这会导致多个国家/地区值具有相同的名称。

是否有一种最佳做法是仅在插入新记录时更新国家/地区列表并防止不同任务插入相同的值?

亲切的问候

【问题讨论】:

    标签: entity-framework entity-framework-core ef-core-3.0


    【解决方案1】:

    是否有一种最佳做法是仅在插入新记录时更新国家/地区列表并防止不同任务插入相同的值?

    是的。在 Country 实体的 Name 属性上放置 unique index。然后,当您尝试添加重复的国家/地区时,它会失败,您可以检索现有国家/地区的 ID。

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 2020-08-06
      相关资源
      最近更新 更多