J'ai un filtre
this.Filter<BaseModel>(q => q.Where(x => x.CompanyId == companyId);
Existe-t-il un moyen de vérifier que "x" implémente mon interface personnalisée "IGlobalDatabaseObject"?
this.Filter<BaseModel>(q => q.Where(x => x.CompanyId == companyId || x is IGlobalDatabaseObject ); ?
Ainsi, les requêtes de base de données renverront les données où "x.CompanyId == companyId" ou si ces données implémentent l'interface globale.
J'utilise la bibliothèque Ef plus (github.com/zzzprojects/EntityFramework-Plus)
Je pense que vous recherchez une fonctionnalité d’ activation / désactivation du filtre de requête EF + . Dans votre cas, quelque chose comme ça:
// The key identifying your filter
var key = new object();
// Create filter for classes that inherit BaseModel
this.Filter<BaseModel>(key, q => q.Where(x => x.CompanyId == companyId));
// Disable the filter for classes that implement IGlobalDatabaseObject
this.Filter<IGlobalDatabaseObject>(key).Disable();