2011-05-20 83 views
2

我有实体与字段DeletedAt。这些实体实现ISoftDelete。 我想要的是自动忽略所有具有DeletedAt值的行。可能吗?实体框架代码第一次软删除

一个想法是歧视,但这更多的是继承。

这将是非常好的,如果有在DbModelBuilder该功能类似

modelBuilder.Entity<ISoftDelete>().Where(x => x.DeletedAt == null) 
+1

您可以使用存储库模式并将其构建到一个通用的'GetAll()'方法吗? – Yuck 2011-05-20 11:37:50

+0

我想如果我使用集合属性,那么我也会得到所有不被删除的行。 – maxlego 2011-05-20 12:09:19

+0

你所概括的鉴别器方法有什么问题?这是我目前使用的,它是一种享受。 – Betty 2011-11-10 08:06:51

回答

0

创建另一个扩展和里面放

modelBuilder.Entity<ISoftDelete>().Where(x => x.DeletedAt == null) 

,它应该作为可查询返回的数据。