EntityFramework-Plus comprueba si los datos implementan una interfaz


Pregunta

Tengo un filtro

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

¿Hay alguna forma de comprobar la "x" que está implementando mi interfaz personalizada "IGlobalDatabaseObject"?

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

Por lo tanto, las consultas db devolverán los datos donde "x.CompanyId == companyId" o si esos datos implementan la Interfaz global

Estoy usando la biblioteca Ef plus (github.com/zzzprojects/EntityFramework-Plus)

Respuesta aceptada

Creo que está buscando la función Activar / Desactivar filtro de consulta EF + . En tu caso, algo como esto:

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




Licencia bajo: CC-BY-SA
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué