Die Implementierung der HasEntity-Methode wurde ersetzt, um die CountAsync-Methode des Repositories zu verwenden. Dies sorgt für eine effizientere Überprüfung der Existenz von Entitäten.
Eine neue asynchrone CountAsync-Methode wurde zum Repository-Interface und zur Implementierung hinzugefügt. Diese Methode zählt die Anzahl der Entitäten mit einer bestimmten ID in der Datenbank.
- Entfernte `_keyPropertyInfo` und die zugehörige Methode `KeyValueOf`, da sie nicht mehr benötigt wird.
- Aktualisierte `CreateAsync` Methode, um direkt `createdEntity.Id` zurückzugeben.
- `CRUDRepository` Konstruktor geändert, um `DbSet<TEntity>` direkt zu akzeptieren.
- Erlaubt flexible Handhabung von `DbSet`-Instanzen beim Erstellen des Repositories.
- `IUnique<TId>` Einschränkung zu `TEntity` in den Schnittstellen `ICRUDService`, `CRUDService`, `ICRUDRepository` und `CRUDRepository` hinzugefügt.
- Relevanten Code aktualisiert, um die neue Einschränkung zu berücksichtigen und sicherzustellen, dass Entitäten `IUnique<TId>` implementieren.
- `MapOrThrow` auf `Map` für das Mapping von DTOs in `CRUDService` geändert.
- Methoden-Signaturen und interne Logik angepasst, um die aktualisierten `Map`-Methoden zu verwenden.
- Ausnahmebehandlung und ID-Abruffunktionalität beibehalten.
- Methode `MapOrThrow` als veraltet markiert.
- Empfohlen, stattdessen `mapper.Map<T>` direkt zu verwenden.
- Zusammenfassung aktualisiert, um die Veraltung widerzuspiegeln und Hinweise zur empfohlenen Methode zu geben.
- Eine Überprüfung hinzugefügt, um sicherzustellen, dass die Entität vor dem Aktualisieren existiert.
- Eine Warnung wird protokolliert, wenn die Entität im Aktualisierungsprozess nicht gefunden wird.
- Das `updateDto` wird auf die bestehende Entität gemappt, anstatt eine neue zu erstellen.
- Aktualisiert: `ICRUDService` und `CRUDService`, um die `IUnique<TId>`-Einschränkung für `TUpdateDto` sicherzustellen, dass Update-Datenübertragungsobjekte eine eindeutige Kennung enthalten.
- ReadAll-Methode zur ICRUDRepository-Schnittstelle hinzugefügt, um die Abfrage aller Entitäten zu ermöglichen.
- ReadAll-Methode in der CRUDRepository-Klasse implementiert, um IQueryable<TEntity> für weitere Abfragen und Filterung bereitzustellen.
- DigitalData.Core.Client.Legacy wurde in DigitalData.Core.Legacy.Client umbenannt.
- Projektdateien von DigitalData.Core.Client wurden nach DigitalData.Core.Legacy.Client kopiert.
- DigitalData.Core.Legacy.Client wurde für .NET Framework konfiguriert.
- Added ServiceFactory class to manage service registrations and service provider creation.
- Implemented a lazy-loaded IServiceProvider to ensure services are only built once.
- Prevent further modifications to the service collection after the service provider is created.
- Added Provide<T>() method to resolve and retrieve services from the service provider.
- Hinzugefügt: `BaseHttpClientService` zur Handhabung von HTTP-Anfragen mit Cookie-Verwaltung.
- Implementiert: `HttpClientService<TClientOptions>`, das `BaseHttpClientService` für typisierte Client-Optionen erweitert.
- Erstellt: `DIExtensions` zur Registrierung von HTTP-Client-Diensten im Dependency Injection Container.
- Bereitgestellt: Methoden zum Hinzufügen von HTTP-Client-Diensten mit und ohne spezifische Client-Optionen.
- Konfiguriert: Optionen zum Festlegen der Basis-URI für HTTP-Clients.