Acceder a una propiedad de un objeto genérico T
Publicado por Gh00sT (2 intervenciones) el 20/07/2016 16:56:40
Buenas tardes, tengo un método genérico de acceso a datos, me devuelve una lista. El problema es que como no se el objeto que le voy a pasar, no puedo filtrar. Lo que quiero hacer es si el objeto tiene la propiedad "CodigoEmpresa" entonces lo filtro. Aquí el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public virtual IList<T> GetList(Func<T, bool> where,
params Expression<Func<T, object>>[] navigationProperties)
{
List<T> list;
using (var context = new DaniClassEntities())
{
IQueryable<T> dbQuery = context.Set<T>();
foreach (Expression<Func<T, object>> navigationProperty in navigationProperties)
dbQuery = dbQuery.Include<T, object>(navigationProperty);
/* Si el objeto T contiene la propiedad 'CodigoEmpresa' ejecutar la siguiente linea */
dbQuery = dbQuery.Where(c => c.CodigoEmpresa == 10); //Error de compilación
list = dbQuery
.AsNoTracking()
.Where(where)
.ToList<T>();
}
return list;
}
Valora esta pregunta


0