Ich implementiere Soft Deletion in meiner App mit IsDeleted Spalte und EF 6 Code First für ORM verwenden. Ich möchte automatisch gelöscht Einheiten filtern, wenn für den Zugriff auf ein träges Laden Navigationseigenschaften Punktoperator (mit Beziehung) .Für Beispiel: Ein Nutzer hat viele RollenEntity Framework 6 automatische Filterung für lazy Loading Navigationseigenschaften
public class User
{
private ICollection<Role> _roles;
public virtual ICollection<Role> Roles
{
get { return _roles?? (_roles= new List<Role>()); }
protected set { _roles= value; }
}
}
und ich brauche, wenn ich user.roles verwenden, ist es wird Entitäten auto Filter gelöscht, so dass ich es nicht explizit wie schreiben, weil es an vielen Orten geschehen wird:
user.Roles.where(u => u.IsDeleted == false).ToList();
ich denke an EF Interceptor, aber es wäre für alle Fragen gelten, und ich möchte noch laden Sie gelöschte Entitäten an einigen Stellen aufgrund von Geschäftsanforderungen. Gibt es andere Möglichkeiten, dies effizient zu erreichen?
Danke.
Danke SimpleVar. Aber meine App hat so viele Tausende von Sammlungen, dass es sehr zeitaufwändig wäre, wenn ich weitere Wrapper-Eigenschaften hinzufüge oder die Active() - Erweiterungsmethode verwende. –