Проблема приведения LINQ-to-entity

Я пытаюсь отфильтровать запрос 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 <IDeletable> обратно к IQueryable <T>.

Есть какие нибудь идеи как это починить? И прежде чем спросить: да, этот методимеет быть общим.

Заранее спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос