【发布时间】:2021-09-01 13:37:08
【问题描述】:
我正在尝试让 muziekants 和他们的乐器加入一个 api 调用。到目前为止,我尝试了一些使用 linq 语句,但到目前为止还没有工作。可以用linq做到这一点吗?这是我到目前为止所得到的:
// GET: api/Muziekants
[HttpGet]
public async Task<ActionResult<IEnumerable<Muziekant>>> GetMuziekants()
{
return await _context.Muziekants
.Include(m => m.Instruments)
.ThenInclude(i => i.MuziekantId)
.Include(m => m.Instruments)
.ToListAsync();
//return await _context.Muziekants.ToListAsync();
}
这就是 muziekant 模型的样子:
public class Muziekant
{
public int Id { get; set; }
[Required]
[MinLength(3, ErrorMessage = "Minimaal 3 karakters")]
[MaxLength(40, ErrorMessage = "Maximaal 40 karakters")]
public string Voornaam { get; set; }
[Required]
[MinLength(3, ErrorMessage = "Minimaal 3 karakters")]
[MaxLength(50, ErrorMessage = "Maximaal 50 karakters")]
public string Achternaam { get; set; }
[Required]
[Range(1900, 2022, ErrorMessage = "Jaar moet tussen 1900 en 2022 zijn")]
public int StartJaar { get; set; }
[Range(1900, 2022, ErrorMessage = "Jaar moet tussen 1900 en 2022 zijn")]
public int? StopJaar { get; set; }
public ICollection<Instrument> Instruments { get; set; }
}
仪器看起来像这样:
public class Instrument
{
public int Id { get; set; }
[Required]
[MaxLength(40, ErrorMessage = "Maximaal 40 karakters")]
public string Naam { get; set; }
[MaxLength(30, ErrorMessage = "Maximaal 30 karakters")]
public string Type { get; set; }
[MaxLength(30, ErrorMessage = "Maximaal 30 karakters")]
public string Bijnaam { get; set; }
public int Waarde { get; set; }
[ForeignKey("Muziekant")]
public int? MuziekantId { get; set; }
}
【问题讨论】:
-
你想要什么类型的实体关系?一对多?
-
@Genusatplay 是的