Automapper не отображает нулевое значениеC#

Место общения программистов C#
Ответить
Anonymous
 Automapper не отображает нулевое значение

Сообщение Anonymous »

Я пытаюсь сопоставить свойство, допускающее значение NULL, но средство автоматического сопоставления указывает на ошибку в этом сопоставлении.
Свойство: HomeTown
Источник: Person.NaturalPerson .HomeTown
Назначение: PersonDTO.NaturalPersonDTO.HomeTown
Если в источнике свойство имеет значение NULL, происходит следующее: возникает ошибка:

Код: Выделить всё

Mapping types:
Person -> PersonDTO
LogSistemas.Domynus.Application.Core.Entities.Person.Person -> LogSistemas.Domynus.Application.Core.Dto.Person.PersonDTO

Type Map configuration:
Person -> PersonDTO
LogSistemas.Domynus.Application.Core.Entities.Person.Person -> LogSistemas.Domynus.Application.Core.Dto.Person.PersonDTO

Destination Member:
NaturalPerson

---> AutoMapper.AutoMapperMappingException: Error mapping types.

Mapping types:
NaturalPerson -> NaturalPersonDTO
LogSistemas.Domynus.Application.Core.Entities.Person.NaturalPerson -> LogSistemas.Domynus.Application.Core.Dto.Person.NaturalPersonDTO

Type Map configuration:
NaturalPerson -> NaturalPersonDTO
LogSistemas.Domynus.Application.Core.Entities.Person.NaturalPerson -> LogSistemas.Domynus.Application.Core.Dto.Person.NaturalPersonDTO

Destination Member:
HomeTown

---> System.NullReferenceException: Object reference not set to an instance of an object.
Классы

Код: Выделить всё

public class NaturalPerson
{
public NaturalPerson()
{
HomeTown = new();
}

public City HomeTown { get; set; }
}

Код: Выделить всё

public class NaturalPersonDTO
{
public NaturalPersonDTO()
{
HomeTown = new CityDTO();
}

public CityDTO HomeTown { get; set; }
}
Конфигурация сопоставления

Код: Выделить всё

    CreateMap();
CreateMap();
CreateMap()
.ConvertUsing(x => new CityDTO
{
Id = x.Id,
StateId = x.StateId,
Name = x.Name,
State = x.State.Abbreviation,
Country = x.State.Country.Name
});
Насколько мне известно, automapper без проблем отображает null. Я не мог этого понять.


Подробнее здесь: https://stackoverflow.com/questions/791 ... null-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»