IQueryable<T>
(bu bit iyi çalışıyor) dönüştüren bir DBQuery<T>
var. Ama sonra başarısız olan .. Bir ObjectQuery için IQueryable dönüştürmek çalışıyorum: -Bir DBQuery <T>'u bir ObjectQuery <T>'a nasıl dönüştürebilirim?
public void Foo(this IQueryable<T> source)
{
// ... snip ...
ObjectQuery<T> objectQuery = source as ObjectQuery<T>;
if (objectQuery != null)
{
// ... do stuff ...
}
}
. Şimdi, çalışmıyor - yani. objectQuery
, null
.
Şimdi, DBQuery<T> inherits IQueryable<T>
.. bu yüzden bunun işe yarayacağını düşündüm.
i kodu değiştirirseniz ..
var x = (ObjectQuery<T>) source;
sonra aşağıdaki istisnası atılır: -
System.Web.HttpUnhandledException: tip 'System.Data ait döküm nesnesine edilemiyor. Entity.Infrastructure.DbQuery
1[Tests.Models.Order]' to type 'System.Data.Objects.ObjectQuery
1 [Tests.Models.Order] '.
Herhangi bir öneriniz var mı?
Neden ObjectQuery için döküm gerekiyor? – anon
Bir DBQuery alan ve bir ObjectQuery oluşturan bir yönteme ihtiyacınız olacağını düşünüyorum. Bu veya açık bir dönüşüm. Ben de bunlardan birinin acı olduğunu anlıyorum. –
Bu ilginç bir soru. DbQuery, ObjectContext ile ObjectContext'den farklı olarak ObjectQuery ile doğrudan bir ilişkisi yoktur. Doğrudan bir dönüşümün mümkün olduğundan şüpheliyim. Yine, ilk etapta neden oyuncuya ihtiyacınız olduğunu tekrar gözden geçirmelisiniz. Ayrıca, "kaynak" nereden geliyor? – anon