2011-05-20 77 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) 

,它應該作爲可查詢返回的數據。