Как могу ли я преобразовать DBQuery в ObjectQuery ?

У меня есть DBQuery , который преобразуется в IQueryable (этот бит работает нормально). Но затем я пытаюсь преобразовать IQueryable в ObjectQuery .. что не удается: -

public void Foo(this IQueryable<T> source)
{
    // ... snip ...

    ObjectQuery<T> objectQuery = source as ObjectQuery<T>;
    if (objectQuery != null)
    {
        // ... do stuff ...
    }
}

Это работало до того, как я перешел на Entity-Framework 4 CTP5 Magic Unicorn бла-бла-бла . s не работает - т.е. objectQuery равен null .

Теперь DBQuery наследует IQueryable .. так что я подумал, что это должно работать.

Если i измените код на ..

var x = (ObjectQuery<T>) source;

, тогда будет выброшено следующее исключение: -

System.InvalidCastException: невозможно приведенный объект типа 'System.Data.Entity.Infrastructure.DbQuery 1 [Tests.Models.Order] » печатать 'System.Data.Objects.ObjectQuery 1 [Tests.Models.Order]'.

Есть предложения?

12
задан Taryn 17 July 2013 в 14:02
поделиться