我在 sql 服务器中有 3 个表,主数据 A、B 和 C。
根据用户需求,需要复制这些表,我们将其称为副本表 AA、BB 和 CC - 这样就可以对这些复制的数据进行实验。所以我总共有 6 张桌子。
当从 UI 进行复制时,它将把 A、B、C 的所有主数据“重新开始”到 AA、BB、CC。 AA、BB、CC 中的数据将随时间而变化。然后,当用户再次从 UI 中选择“重置数据”时,它将再次将 A、B、C 复制为 AA、BB、CC。
如何在 SQL 中以良好的方式完成此操作?我正在使用 dotnet EF Core。
您可以尝试使用原始sql删除表“AA”,然后创建一个新的“AA”表
using (var db = new MyDbContext())
{
db.Database.ExecuteSqlCommand("DROP TABLE AA"); //delete table
db.Database.ExecuteSqlCommand("SELECT * INTO AA FROM A"); //create a new table from A
}