Я пытаюсь отфильтровать запрос LINQ-to-entity обычным способом, но постоянно получаю сообщение об ошибке. Вот кусок кода:
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;
}
По сути, я пытаюсь отфильтровать удаленные объекты (т. Е. Поле «Удалено» равно «истина»), если и только если объект является IDeletable (т. Е. У него есть поле «Удалено»). Проблема в том, что я не могу привести IQueryable обратно к IQueryable .
Есть идеи как это исправить? И прежде чем вы спросите: да, этот метод имеет , чтобы быть универсальным.
Заранее спасибо!