Я пытаюсь сопоставить 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.
Что я делаю не так? Что я должен сделать вместо этого? Потому что я хочу, чтобы мой запрос внешнего интерфейса был простым, просто указав идентификатор страны, а затем добавьте его в базу данных.