Автомаппер ProjectTo нужно конвертировать nullable <long>в bool - PullRequest
0 голосов
/ 05 февраля 2019

Мне было поручено присматривать за веб-приложением, созданным с использованием automapper, для завершения всех преобразований данных.До сих пор мне удалось разобраться с большинством проблем, но у меня есть одна проблема, которая в настоящий момент вызывает недоумение.

В базе данных у меня есть поле с именем HasDocuments, которое определено как bigInt.

enter image description here

Это поле содержит данные иерархии, но для этого viewModel оно используется в качестве флага, чтобы показать, присутствует ли значение.

Таким образом, у моей viewModel есть свойство, определяемое как недействительный бул.

public bool? HasDocuments { get; set; }

Пока все хорошо.

Когда сделан вызов в базу данных

enter image description here

Я проверил все cfg mapper, чтобы проверить, и ни один из них не вызван и не сталкивался с некоторыми замечательными статьями по SO, такими как:

AutoMapperВопрос конфигурации ProjectTo ()

Из статей я знаю, что команда ProjectTo отличается от команды MapFrom.

Я просто не понимаю, что здесь происходит.

Может кто-нибудь помочь, пожалуйста?

ОБНОВЛЕНИЕ

В соответствии с запросом ниже приводится конфигурация сопоставления.

  CreateMap<Parcel, BaseParcelDataContract>()
            .BeforeMap((s, d) => { System.Diagnostics.Debug.Print("");})
            .Include<Parcel, ParcelDataContract>();

Посылкаявляется базовым объектом БД и имеет свойство HasDocuments как обнуляемый тип long, BaseParcelDataContract передается обратно в контроллер и имеет свойство HasDocuments как обнуляемый тип bool.

1 Ответ

0 голосов
/ 07 февраля 2019

Я хотел бы поблагодарить Луикана за его ответ.В конце я использовал прямой обмен влево => вправо.Но да, Луикан.Automapper не может этого сделать.Если никто не может показать мне.

Награда Luican.

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