habe versucht die aktuelle Struktur graphisch darzustellen. Sieht auf den ersten Blick nach einer ganz normalen Standard-Struktur aus. Die Elemente sind jeweis mit einer 1:n-Verbindung verknüpft.
- .net Framework 4.8
- EntityFramework 6.1
Der angemeldete Benutzer ist auf 0-n Kostenstellen berechtigt, die Checklisten sind mit der Kostenstelle verknüpft. Wenn in ICategory GetAll aufgerufen wird, sollen natürlich nur die Kategorien zurückgegeben werden, auf die der Benutzer berechtigt ist. Ich habe das aktuell so gelöst, dass der "Parent"-Service eine Liste aller Ids, auf die der Benutzer berechtigt ist, zurückgibt und in GetAll() die verwendet werden.
var availableIds = _checklistService.GetAllIds();
return _repository.GetAll().Where(x => availableIds.Contains(x.ChecklistId));
Das funktioniert zwar soweit, ich bin mir allerdings nicht sicher, ob das so elegant ist bzw von der performance her Probleme geben könnte. Gibt es hier ein BestPractice?
In diesem Fall muss ich in der Klasse der CategoryService-Klasse das IChecklistService injecten, allerdings möchte ich auch in der ChecklistService-Klasse die ICategoryService injecten, um z.B. alle Kategorien zu löschen, wenn die Checkliste gelöscht wird. Das geht natürlich nicht, weil hier eine Kreisabhängigkeit besteht. Wie würde man das am besten auflösen?
Vielen Dank
Chris