Tôi đang tạo các truy vấn LINQ động cho nHibernate.Cách chuyển đổi LambdaExpression thành Biểu thức được nhập <Func<T, T>>
Do phụ thuộc, tôi muốn truyền/truy xuất biểu thức đã nhập sau đó, nhưng tôi đã không thành công cho đến nay.
Đây không phải đang làm việc (các diễn viên là vụ xảy ra ở những nơi khác):
var funcType = typeof (Func<,>).MakeGenericType(entityType, typeof (bool));
var typedExpression = (Func<T, bool>)Expression.Lambda(funcType, itemPredicate, parameter); //Fails
này đang làm việc:
var typedExpression = Expression.Lambda<Func<T, bool>>(itemPredicate, parameter);
Có thể để có được những 'gói gọn' gõ biểu hiện từ một LambdaExpression ?
có thể bạn đang tìm kiếm typedExpression.Compile() – jure
tôi cần phải sử dụng các biểu hiện như một IQueryable với mapper ORM của tôi vì vậy nó không thể được biên dịch. – Larantz