0
我在我的應用程序中使用IsDeleted列實施軟刪除,並使用EF 6 Code First for ORM。我想用點運算符來訪問懶加載導航性能(與許多關係)。例如,當自動過濾刪除實體:一個用戶有很多角色實體框架6自動過濾延遲加載導航屬性
public class User
{
private ICollection<Role> _roles;
public virtual ICollection<Role> Roles
{
get { return _roles?? (_roles= new List<Role>()); }
protected set { _roles= value; }
}
}
,我需要的是,當我使用user.Roles,它會自動過濾器刪除實體,所以我不是很明確地寫這樣,因爲它將在很多地方發生:
user.Roles.where(u => u.IsDeleted == false).ToList();
我在想EF攔截器,但它適用於所有的疑問,我仍然希望由於業務需求在某些地方加載已刪除的實體。 有沒有其他方法可以有效實現這一點?
謝謝。
感謝SimpleVar。但是我的應用程序有數千個這樣的集合,所以如果我添加更多的包裝屬性或使用Active()擴展方法將非常耗時。 –