EntityFramework-Plus überprüft, ob Daten eine Schnittstelle implementieren


Frage

Ich habe einen Filter

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

Gibt es eine Möglichkeit zu überprüfen, was "x" meine benutzerdefinierte Schnittstelle "IGlobalDatabaseObject" implementiert?

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

Die Datenbankabfragen geben also die Daten mit "x.CompanyId == companyId" zurück, oder wenn diese Daten die globale Schnittstelle implementieren

Ich benutze Ef plus Bibliothek (github.com/zzzprojects/EntityFramework-Plus)

Akzeptierte Antwort

Ich denke, Sie suchen nach EF + Query Filter aktivieren / deaktivieren Funktion. In Ihrem Fall, in etwa so:

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




Lizenziert unter: CC-BY-SA
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum