Как сопоставить Id существующей сущности с Automapper / EF Core? - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь сопоставить DTO с соответствующей сущностью.

Допустим, у меня есть это:

public class User {
    public int Id {get; set;}
    public Country Country {get; set;}
    // Many other properties
}

public class Country {
   public int Id {get; set;}
   public string Name {get; set;}
}

А также DTO

public class User {
    public int Id {get; set;}
    public int Country {get; set;}
}

EF Core создает таблицу User с столбцом CountryId, поэтому я пытался передать в качестве параметра идентификатор страны вместо новой сущности страны.

Моя конфигурация картографа:

CreateMap<UserDto, User>().ForMember(dest => dest.Country.Id, from => from.MapFrom(src => src.Country));

И я получаю эта ошибка:

Expression 'dest => dest.Country.Id' must resolve to top-level member and not any child object's properties. Что я делаю не так? Что я должен сделать вместо этого? Потому что я хочу, чтобы мой запрос внешнего интерфейса был простым, просто указав идентификатор страны, а затем добавьте его в базу данных.

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