EntityFramework-Plus verifica se i dati implementano un'interfaccia


Domanda

Ho un filtro

 this.Filter<BaseModel>(q => q.Where(x => x.CompanyId == companyId);

C'è un modo per controllare qualunque "x" sta implementando la mia interfaccia personalizzata "IGlobalDatabaseObject"?

 this.Filter<BaseModel>(q => q.Where(x => x.CompanyId == companyId);

Quindi, le query db restituiranno i dati dove "x.CompanyId == companyId" o se tali dati implementano l'interfaccia globale

Sto usando la libreria Ef plus (github.com/zzzprojects/EntityFramework-Plus)

Risposta accettata

Penso che tu stia cercando la funzionalità Abilita / Disabilita filtro query + EF . Nel tuo caso, qualcosa del genere:

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




Autorizzato sotto: CC-BY-SA
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché