У меня есть DBQuery<T>
, который преобразуется в IQueryable<T>
(этот бит работает нормально).Но затем я пытаюсь преобразовать 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 бла-бла-бла-бла.Теперь это не работает - т.е.objectQuery
равно null
.
Теперь DBQuery<T> inherits IQueryable<T>
.. поэтому я подумал, что это должно сработать.
Если я изменю код на ..
var x = (ObjectQuery<T>) source;
затем выдается следующее исключение: -
System.InvalidCastException: невозможно привести объект типа 'System.Data.Entity.Infrastructure.DbQuery 1[Tests.Models.Order]'
to type
'System.Data.Objects.ObjectQuery
1 [Tests.Models.Order]'.
Есть предложения?