EntityFramework-Plus vérifie si les données implémentent une interface

c# entity-framework entity-framework-plus

Question

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);

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)

Réponse acceptée

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();



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi