Привет всем. Есть Апи который возвращает такие данные:
[
{
"id": 1,
"telegramId": "user1",
"accounts": [
{
"id": 1,
"SteamId": "steamid1",
"UserId": 1
},
{
"id": 2,
"SteamId": "steamid2",
"UserId": 1
}
]
},
{
"id": 2,
"telegramId": "user2",
"accounts": [
{
"id": 3,
"SteamId": "steamid3",
"UserId": 2
}
]
},
{
"id": 3,
"telegramId": "user3",
"accounts": [
{
"id": 4,
"SteamId": "steamid4",
"UserId": 3
},
{
"id": 5,
"SteamId": "steamid5",
"UserId": 3
},
{
"id": 6,
"SteamId": "steamid6",
"UserId": 3
}
]
}
]
Вот их модель:
public class User
{
public User()
{
this.Accounts = new HashSet<Account>();
}
public int Id { get; set; }
public string TelegramId { get; set; } = null!;
public virtual ICollection<Account> Accounts { get; set; }
}
public class Account
{
public int Id { get; set; }
public string SteamId { get; set; } = null!;
public User? User { get; set; }
public int? UserId { get; set; }
}
Вот
DTO которую я буду показывать юзерам
public class ForUserDataDto
{
public string TelegramUserId { get; set; } = null!;
public List<Steam> Steam { get; set; } = new();
}
public class Steam
{
public string SteamId { get; set; } = null!;
}
Пытаюсь Смаппить следующим образом выходит ошибка
CreateMap<User, IList<ForUserDataDto>>()
.ConvertUsing(s => s.Accounts.Select(tx => tx.SteamId.Select(t => new ForUserDataDto() { TelegramUserId = s.TelegramId, new Steam() { SteamId = tx.SteamId } })).Tolist());
Помогите пожалуйста как можно правильно смаппить чтобы так показывалось юзерам
[
{
"telegramId": "еее",
"Steam": [
{
"Steamid": "test"
},
{
"Steamid": "test2"
}
]
},
{
"telegramId": "eee2",
"Steam": [
{
"Steamid": "test3"
}
]
}
]