# DigitalData.Core Bibliothek Die `DigitalData.Core` Bibliothek bietet eine Reihe von Diensten, Repositories und Hilfsklassen zur Unterstützung der Entwicklung sauberer Architektur in .NET-Anwendungen. Diese Bibliothek umfasst Implementierungen für CRUD-Operationen, Active Directory-Dienste und Ausnahmebehandlung. ## Komponenten ### CRUD-Operationen - `ICRUDRepository`: Definiert einen Vertrag für CRUD-Operationen auf einer Entität des Typs `TEntity` mit dem Identifikator des Typs `TId`. - `CRUDRepository`: Bietet eine generische Implementierung für CRUD-Operationen innerhalb eines gegebenen `DbContext`. - `ICRUDService`: Definiert einen Vertrag für CRUD-Operationen auf der Dienstebene unter Verwendung von Datenübertragungsobjekten (DTOs). - `CRUDService`: Bietet generische CRUD-Operationen für einen bestimmten Entitätstyp. ### Active Directory-Dienste - `ADService`: Ermöglicht die Interaktion mit dem Active Directory, um Suchvorgänge durchzuführen und Daten in Objekte des Typs `T` zu lesen. - `ADFilterAttribute`: Spezifiziert die Filterabfrage für Active Directory (AD)-Operationen. Dieses Attribut kann auf Klassen angewendet werden, um benutzerdefinierte Filterabfragen während AD-Operationen zu definieren. ### Ausnahmebehandlung - `MappingResultNullException`: Repräsentiert Fehler, die während der Zuordnung auftreten, wenn das Ergebnis unerwartet `null` ist. Diese Ausnahme wird speziell verwendet, um anzugeben, dass eine AutoMapper-Zuordnungsoperation ein `null`-Objekt ergab. ### Hilfsklassen - `AttrHelper`: Bietet Hilfsmethoden zum Arbeiten mit Attributen. ### API-Controller - `CRUDControllerBase`: Eine Basiskontrollerklasse, die generische CRUD-Operationen für einen bestimmten Entitätstyp bereitstellt. - `ADControllerBase`: Ein Basiskontroller für die Interaktion mit dem Active Directory-Dienst. ## Anwendung Diese Bibliothek ist für Entwickler konzipiert, die saubere Architekturprinzipien in ihren .NET-Anwendungen implementieren möchten. Sie bietet eine robuste Grundlage für die Entwicklung von Repositories, Diensten und API-Controllern mit Fokus auf Wartbarkeit, Testbarkeit und Erweiterbarkeit. ## Hinweise - Die Verwendung von `IMapper` und `IServiceResult` ermöglicht eine flexible Datenübertragung und Fehlerbehandlung. - Die Implementierung der Active Directory-Dienste setzt voraus, dass die Anwendung auf der Windows-Plattform ausgeführt wird, aufgrund der Verwendung von `DirectorySearcher`. - Die Ausnahmebehandlungsklassen helfen bei der Identifizierung von Konfigurations- oder Datenquelleproblemen, die während der Automapper-Zuordnung auftreten können. Für weitere Details zur Implementierung und Nutzung dieser Bibliothek, prüfen Sie die Dokumentation und Beispiele im Code.