Сопоставление Expression‹Func‹Type1, bool›› Expression‹Func‹Type2, bool››

Я хочу передать свой запрос с бизнес-уровня на сервисный уровень, но при этом мне нужно преобразовать свою DTO в модель Entity.

Обычно я могу преобразовать Type1 в Type2 с помощью Autommaper, но теперь я хочу сопоставить Expression<Func<Type1,bool>> с Expression<Func<Type2, bool>>

Я получил ошибку от Automapper

Missing type map configuration or unsupported mapping. 
Mapping types: Expression`1 -> Expression`1

Как я могу достичь этого?


person bahadir arslan    schedule 30.03.2013    source источник
comment
Как бы вы это реализовали? И для начала, каков, по-вашему, должен быть результат этой операции сопоставления?   -  person flq    schedule 31.03.2013


Ответы (1)


Я только что обновил свой ответ на другой вопрос, который вы прокомментировали, который, я думаю, касается этого: 7425211">AutoMapper для функций между типами селекторов

Что касается ошибки, которую вы опубликовали выше, похоже, это связано с тем, что вы пытались сопоставить один тип выражения с другим с помощью AutoMapper, например. Mapper.Map<Expression<Func<Type1,bool>>, Expression<Func<Type2, bool>>>(exp1, exp2). Такие вещи не поддерживаются; AutoMapper предназначен только для сопоставления между экземплярами разных типов, а не выражениями, которые имеют дело с этими типами.

В любом случае, если вы прочитаете мой другой ответ, он может рассказать вам, как добиться того, чего вы хотите.

person luksan    schedule 31.03.2013
comment
спасибо за ваш ответ, но прежде чем я увидел ваш ответ, я нашел другую реализацию ExpressionVisitor и добился этого. Но ваш ответ поможет многим людям. - person bahadir arslan; 31.03.2013
comment
Рад слышать, что вы решили проблему... спасибо за согласие! - person luksan; 31.03.2013