Bir linq içinde kullanılacak bir ifade üretme işlevim var Where cümlesi. Expression <Func<T,bool>>, jenerik yöntemde oluşturulduğunda istenmeyen bir dönüştürme ekler
public static Expression<Func<T,bool>> GetWhereCondition<T>() where T : IActive
{
return x => x.Active;
}
(IActive sadece 'Etkin' özelliğini tanımlayan notu)
Orada diğer ilgili fonksiyonlar ve fikri i vb iş kurallarını,
kontrol etmek için Jenerik sınıfa gerekli koşulları enjekte olmasıdırx => Convert(x).Active
ders rej taşımaktadır:
sorun bu çalıştırdığınızda, döndürülen İfade (ayıklananları görülen) lamda içeriyor olmasıdır linq: tarafından 'LINQ to Varlıklar, yalnızca Varlık Veri Modeli ilkel türlerini yayınlamayı destekler.'
SO benim sorum
...Bu davranışları nasıl engellerim. Bir dönüşüme gerek yoktur ve açıkça anlaşılmazdır. Bunu önlemek bile mümkün mü?
ah, ilginç; temel fark "kısıtlı" ile "çağrıvirt" arasındaki değişimdir; Bu çalışmasına izin vermesi ilginç –