Actuellement, j'ai un référentiel générique comme ceci:Appliquer l'expression <Func <TEntity, bool >> dans le référentiel générique?
public virtual IQueryFluent<TEntity> Query(Expression<Func<TEntity, bool>> query)
{
return new QueryFluent<TEntity>(this, query);
}
et mettre en œuvre comme ceci:
var obj = _repository.Query(x => x.RoleID == ID).Select().FirstOrDefault();
Parce que, RoleID apparaît dans toutes les entités, de sorte que je veux construire une expression commune dans la Dépôt générique comme ceci:
//Check and get RoleID if exist this column
PropertyInfo info = typeof(TEntity).GetProperty("RoleID");
if (info != null)
Expression<Func<TEntity, bool>> filter = (p => p.RoleID ??? or p.info ??? == 5);
Comment peut-on construire un filtre avec colonne inconnue de TEntity dans le référentiel générique? Ou pourrions-nous passer une chaîne de clause where pour Filter?
Mon but est que, j'ai juste besoin d'interroger des données avec une structure simple comme ça:
var obj = _repository.Query().Select().FirstOrDefault();
S'il vous plaît conseiller.
Merci.
Le mieux serait d'implémenter une interface comme 'IHasRole {int RoleID {get; set;}}' sur toutes les entités et l'utiliser. – Evk
remerciez Evk pour votre aide. –