AC# ifadeden dönüştürmekŞu izle ifadem tutan bana gösteriyor Şu anda bir</p> <pre><code>Expression<Func<T,bool>> </code></pre> <p>bir</p> <pre><code>Expression<Func<T,object>> </code></pre> <p>dönüştürmek çalışıyorum
Expression<Func<T,object>> myExpression = model=>Convert(model.IsAnAirplane)
Bunu basitleştirmek istiyorum
Expression<Func<T,bool>> myExpression = model=>Convert(Convert(model.IsAnAirplane))
Ama altta yatan tipi bool IS beri, doğru, tamamen dönüştürür çizik gerekir:
Expression<Func<T,bool>> myExpression = model=>model.IsAnAirplane
Şu anda sadece sonuçlanan bir dönüştürmek ekleyerek başarılı? İfade ziyaretçileri vb. Ile tanıyorum ama yine de dönüştürmeyi nasıl kaldıracağımı anlayamıyorum.
Düzeltme: Bu soruya verilen yanıtın bu yanıtı Generic unboxing of Expression<Func<T, object>> to Expression<Func<T, TResult>> (bu olası bir çoğaltma olabilir) benim için çalışmıyor ... İfade EF tarafından çevrildikçe, bunun yerine Dönüştür (Convert()) işlevini görebiliyorsunuz ilk dönüştürmeyi kaldırmanın ..., "System.Object" türünü yazmak için "System.Boolean" türünü kullanılamadı. LINQ to Entities, yalnızca EDM ilkel veya numaralandırma türlerini yayınlamayı destekler. "
Bu tam olarak istediğimi yapar ve bir çekicilik gibi çalışır, teşekkürler! –
Teşekkürler, bu gerçekten benim popomu kurtardı –