Je travaille actuellement sur une application multitenant basée sur des colonnes. J'ai ajouté le tenantId sur chaque entité avec une classe de base, et j'ai utilisé des filtres de requête qui correspondent parfaitement à mes besoins. J'ai également remplacé la méthode savechanges pour remplir la propriété tenantid sur les entités ajoutées en utilisant le changetracker.
Mais maintenant je suis coincé avec la mise à jour et la suppression. Pour autant que je sache, ef génère une clause where avec seulement la clé primaire, ce qui n'est pas très sûr pour moi, car je travaille sur un environnement api avec beaucoup de choses attachées/supprimées, et j'ai écrit beaucoup de entity.state = modified au lieu de faire une requête en premier, afin d'améliorer les performances.
Ma question est la suivante : comment ajouter un prédicat à une déclaration de mise à jour/suppression d'ef core ?
Je sais que je peux : 1. Faire une requête d'abord (et je suis sûr que vous allez me le recommander) 2. Faire de tenantid une partie d'une compositekey, mais cela serait vraiment pénible de refactorer tout mon code car les méthodes add/find/etc. ont besoin de clés primaires complètes.
Je serais vraiment reconnaissant à toute personne qui sait comment déclencher cela !