0

我有七个表,其中包含数百行相关数据。这些表格构建了一个相当复杂的报价工具,增加了材料和成本等。

是否可以使用 EF Core 和几行代码来加载所有这些实体,然后将它们写回新实体,但会在途中生成新 ID 并正确地将所有内容相互关联,因此我最终得到了所有的数据。然后,我可以更改 Header 表上的 CompanyID,瞧,一家公司拥有完整的模板副本,他们现在可以自行配置。

我将要编写一个程序来逐个加载实体,循环它们,逐个保存行等,存储id,等等等等。我很高兴编写该程序,因为我看不到自动执行此操作的方法。

4

1 回答 1

0

我能想到的唯一方法是使用 EF Core。由于它不支持篡改主键,如果您不想创建过程,您可以尝试这样的操作,但我可以看到一种对主键执行级联更新的方法。这种代码将允许您根据需要使用自定义 id 更改主键。您仍然需要 for 循环。所以是的,您首先更新主表,然后在它下面更新依赖于它的表。

foreach(var row in your_entity){
  your_context.your_new_entity.AddObject(row);
  your_context.SaveChanges();
  row.Id = your_id;
  for(var row2 in your_depending_entity){
    row2.foreignkey = your_id
    .... // and so on 
  }
}
于 2019-02-27T11:25:03.110 回答