实体框架6 DBContext禁用删除选项

时间:2013-12-01 05:47:49

标签: dbcontext entity-framework-6

任何人都可以帮我解决如何在EF6中禁用DELETE选项的问题吗?

我的意思是从应用程序,现在应该删除记录(甚至意外)

感谢。

2 个答案:

答案 0 :(得分:1)

在数据库中创建一个用户/角色,该用户/角色无权删除/修改记录并在您的应用程序中使用它。 EF本身并不是一个安全工具,并且总是有执行删除操作的选项(例如,开发人员可以绕过数据访问层中实现的所有'安全'措施向数据库发送任意SQL查询/命令)< / p>

答案 1 :(得分:0)

使用AsNoTracking()选项获取实体调用时。

例如: - Context.Users.AsNoTracking()

史蒂文斯评论后的编辑

确实,任何人都可以将实体状态更改为手动删除。我建议使用Repository Pattern进行数据访问,并限制删除操作。通过将DbContext隐藏在程序集之外。