Dynamicznie buduję zapytania linq dla nHibernate.Jak przekonwertować wyrażenie Lambda do wpisanego wyrażenia <Func<T, T>>
Ze względu na zależności, chciałem rzucić/odzyskać wpisane wyrażenie w późniejszym czasie, ale jak dotąd nie udało mi się.
To nie działa (obsada ma się zdarzyć w innym miejscu):
var funcType = typeof (Func<,>).MakeGenericType(entityType, typeof (bool));
var typedExpression = (Func<T, bool>)Expression.Lambda(funcType, itemPredicate, parameter); //Fails
to działa:
var typedExpression = Expression.Lambda<Func<T, bool>>(itemPredicate, parameter);
Czy to możliwe, aby uzyskać 'obudowane' wpisane wyrażenie z LambdaExpression ?
może szukasz typedExpression.Compile() – jure
muszę użyć wyrażenia jako IQueryable z mojego ORM odwzorowującym więc nie może być skompilowany. – Larantz