Entity Framework 核心,数据库优先。关于意外丢失数据的初学者问题

Entity Framework Core, DB First. Beginner questions about losing data accidentally

我还没有用 EF Core 写过一行代码,但我一直在阅读教程并试图首先掌握这个概念。对于这些关于意外丢失数据的问题,我还没有找到任何答案:

一般来说,是否存在任何可能导致数据错误丢失或忘记执行某些操作的陷阱,或者是否所有硬删除操作都需要显式代码?

为了避免误解,我对问题进行了一些修改。

Are the tables that aren't in my DbContext dropped on SaveChanges?

仅当您删除数据库或以其他方式删除表时,这些表才会被删除。

If a DbSet is empty and SaveChanges is called, will the rows of the corresponding table be deleted?

是的。否则框架将无法工作。

Are there any pitfalls that could lead to data loss by mistake or if you forget to do something

这取决于您所说的错误忘记做某事是什么意思。如果您忘记保存更改,则您的更改将会丢失。如果您不小心修改、删除或删除了表格,那么您的数据当然会丢失。

您应该始终定期备份数据库,测试备份是否可以恢复,并在数据库的 副本 上测试新内容。