是否通过实体框架永久删除数据库?

时间:2015-10-24 15:08:33

标签: entity-framework

我有一个使用EntityFramework和Azure SQL数据库的Web应用程序。我想知道删除数据库中的一行是永久删除信息还是仅删除标记但是如果需要仍然可以访问它?

db.MyTable.Remove(objectInstance);
db.SaveChanges();

这是可以配置的,还是我需要自己添加deleted属性来实现此功能?

我想要的原因是能够执行分析,包括可能已被删除的对象

1 个答案:

答案 0 :(得分:3)

实际上,EF与此毫无关系。是否永久删除记录实际上取决于RDBMS。 EF是RDBMS的ORM。

选项IMO:

  1. 您使用额外列
  2. 管理标记为已删除的记录
  3. 您可以将已删除的记录移动到另一个表或文件中,方便您运行分析。这样,您的查询将不得不触及更少的记录并且更快。
  4. 您可以浏览日志文件并再次执行INSERT以获取已删除的记录。
  5. 希望我的建议能帮助你朝着正确的方向前进。