实体框架和软删除记录

时间:2009-11-03 09:17:21

标签: entity-framework

我正在开发使用实体框架作为数据源的WCF服务。几乎一切都没问题,除了删除记录的问题。在我们的数据库中,我们使用软删除(标记记录属性IsDeleted = true)。我的问题如何从实体集中排除软删除的记录?

例如,实体“A”具有实体集“Bs”(FK到表“B”)。 如何使“Bs”实体仅设置包含未删除的记录?

谢谢

3 个答案:

答案 0 :(得分:5)

我写了一篇关于这个主题的帖子,希望它有所帮助。

http://blog.jorgef.net/2010/12/ef-soft-delete.html

答案 1 :(得分:0)

一种方法是使用定义查询。但我们通常会在Repository中处理这个问题,因为我们确实希望在极少数情况下实现“软删除”实体。

答案 2 :(得分:0)

您可以将EF实体映射到视图而不是表

CREATE VIEW vw_Currency AS
SELECT 
    *   
FROM 
    Currency c 
WHERE 
    c.IsAKDeleted=0

我参与了一个使用这种方法但不是基于EF的系统。我还没试过EF