Problema de conversión de LINQ a entidades
Estoy tratando de filtrar una consulta LINQ-to-persons de forma genérica, pero sigo recibiendo un error. Aquí hay un fragmento de código:
private IQueryable<T> FilterDeletedEntities<T>(IQueryable<T> entities)
{
if (typeof(IDeletable).IsAssignableFrom(typeof(T)))
{
var deletableEntities = (IQueryable<IDeletable>)entities;
deletableEntities = deletableEntities.Where(entity => !entity.Deleted);
entities = (IQueryable<T>)deletableEntities;
}
return entities;
}
Básicamente estoy tratando de filtrar las entidades eliminadas (es decir, el campo 'Eliminado' es 'verdadero'), si y solo si la entidad es IDelectable (es decir, tiene el campo 'Eliminado'). El problema es que no puedo devolver IQueryable <IDeletable> a IQueryable <T>.
¿Alguna idea sobre cómo solucionar este problema? Y antes de preguntar: sí, este métodotien para ser genérico.
¡Gracias por adelantado