我正在开发使用实体框架作为数据源的WCF服务。几乎一切都没问题,除了删除记录的问题。在我们的数据库中,我们使用软删除(标记记录属性IsDeleted = true)。我的问题如何从实体集中排除软删除的记录?
例如,实体“A”具有实体集“Bs”(FK到表“B”)。 如何使“Bs”实体仅设置包含未删除的记录?
谢谢
答案 0 :(得分:5)
我写了一篇关于这个主题的帖子,希望它有所帮助。
答案 1 :(得分:0)
一种方法是使用定义查询。但我们通常会在Repository中处理这个问题,因为我们确实希望在极少数情况下实现“软删除”实体。
答案 2 :(得分:0)
您可以将EF实体映射到视图而不是表
CREATE VIEW vw_Currency AS
SELECT
*
FROM
Currency c
WHERE
c.IsAKDeleted=0
我参与了一个使用这种方法但不是基于EF的系统。我还没试过EF