Отображение выражений - PullRequest
       21

Отображение выражений

0 голосов
/ 29 марта 2019

Я испытываю трудности с отображением выражений для DataServiceQuery.

. Мой ввод следующий: Expression<Func<TEntity, bool>> predicate и string entitySet

Теперь мне нужно преобразовать это вExpression<Func<TOutput, bool>> output

В настоящее время я использую AutoMapper и создал карту между TEntity и TOutput Затем я пытаюсь отобразить выражение следующим образом:

var type = Type.GetType($"ServiceContext.{entitySet}, ServiceContext");
var predicateTargetType = typeof(Expression<>).MakeGenericType(typeof(Func<,>).MakeGenericType(type, typeof(bool)));
var mappedPredicate = _mapper.Map(predicate, predicate.GetType(), predicateTargetType);

Приведенный выше кодможет показаться, что он работает, во время выполнения он выполняется, однако проблема заключается в том, что всякий раз, когда я использую переменную mappedPredicate, он генерирует следующее исключение:

System.InvalidOperationException: код, как предполагается, недоступен

Слой, который вызывает этот код, ничего не знает о TOutput, поэтому у меня есть только имя TOutput в строковом формате и выражение TEntity.

Любая помощь будетбольшое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...