我有 2 個班級和虛擬機。我創建了一個顯示型別流派的方法,以及與它們相關的流派串列,但現在我需要一個 TypeGenreNamesVM 串列。我不明白如何在 GenreNames 中傳遞值 Name 和 NameUrl 的串列。我需要制作一個以類似結構顯示資料的方法:
[
{
"name": "qwerty",
"nameEng": "qwertyEng",
"GenresNames": [
{
"name": "genre1",
"nameEng": "genreEng1"
},
{
"name": "genre2",
"nameEng": "genreEng2"
}
]
}
]
這是我使用的 2 個類和虛擬機
public class Genre
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string NameForUrl { get; set; }
public string Description { get; set; }
public int Fk_TypeGenreId { get; set; }
[ForeignKey("Fk_TypeGenreId")]
public TypeGenre TypeGenre { get; set; }
public List<Book_Genre> Book_Genre { get; set; }
}
public class TypeGenre
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string NameForUrl { get; set; }
public string Description { get; set; }
public List<Genre> Genre { get; set; }
}
public class TypeGenreTestVM
{
public string Name { get; set; }
public string NameEng { get; set; }
public List<TypeGenreNamesVM> GenreNames { get; set; }
}
public class TypeGenreNamesVM
{
public string Name { get; set; }
public string NameForUrl { get; set; }
}
public async Task<IEnumerable<TypeGenreTestVM>> GetTypesAndGenresEng()
{
var result = await _context.TypeGenre.Select(genres => new TypeGenreTestVM()
{
Name = genres.Name,
NameEng = genres.NameForUrl,
GenreNames =
}).ToListAsync();
return result;
}
uj5u.com熱心網友回復:
和第一個差不多Select
public async Task<IEnumerable<TypeGenreTestVM>> GetTypesAndGenresEng()
{
var result = await _context.TypeGenre.Select(genres => new TypeGenreTestVM()
{
Name = genres.Name,
NameEng = genres.NameForUrl,
GenreNames = genres.Genre.Select(g => new TypeGenreNamesVM
{
Name = g.Name,
NameEng = g.NameForUrl
})
.ToList()
}).ToListAsync();
return result;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/463219.html
