Я хочу создать отображение из UserDto в сущность User, пожалуйста, помогите мне, как мне этого добиться. У меня есть свойство GeoLocation в сущности пользователя, как сопоставить эти свойства. Может кто-нибудь, пожалуйста, дать решение с примером?
Я использую пакет AutoMapper: https://www.nuget.org/packages/AutoMapper/
Мой класс Entity:
public class User
{
public string Id { get; set; }
public string Name { get; set; }
public GeoLocation PurchaseLocationCoordinates { get; set; }
}
Мой класс Dto:
public class UserDto
{
public string Id { get; set; } = Guid.NewGuid().ToString();
public string Name { get; set; }
public string PurchaseLocationLatitude { get; set; }
public string PurchaseLocationLongitude { get; set; }
}
Класс GeoLocation:
public class GeoLocation
{
public GeoLocation(double lon, double lat)
{
Type = "Point";
if (lat > 90 || lat < -90) { throw new ArgumentException("A latitude coordinate must be a value between -90.0 and +90.0 degrees."); }
if (lon > 180 || lon < -180) { throw new ArgumentException("A longitude coordinate must be a value between -180.0 and +180.0 degrees."); }
Coordinates = new double[2] { lon, lat };
}
[JsonProperty("type")]
public string Type { get; set; }
[JsonProperty("coordinates")]
public double[] Coordinates { get; set; }
public double? Lat() => Coordinates?[1];
public double? Lon() => Coordinates?[0];
}
Отображение:
CreateMap<UserDto, User>();