Привет, я не совсем уверен, как это сделать.
У меня есть этот контроллер .NetCore EntityFrame, который получает список символов.
Он работает, когда я просто получаю список символов:
return await _context.Character.ToListAsync();
Возвращает имя, класс, расу, возраст, armorPoints, hitPoints и spiritAnimalId для каждого персонажа в базе данных.
Но теперь вместо простого возвращая только spiritAnimalId, я хочу вернуть настоящее имя животного.
Поэтому я начал писать некоторый код, но быстро потерял способность выяснить, как вернуть имя животного-духа.
Вот что у меня есть:
// GET: api/Characters
[HttpGet]
public async Task<ActionResult<IEnumerable<Character>>> GetCharacters()
{
var characters= await _context.Character.ToListAsync();
foreach(Character c in characters)
{
var a = _context.SpiritAnimal.FindAsync(c.spiritAnimalId);
var name = a.Result.Name;
}
return charcters;
}
Так что я заблудился о том, как вернуть список проектов и заменить spiritAnimalId его именем.
НОВЫЙ КОД:
// GET: api/Characters
[HttpGet]
public async Task<ActionResult<List<Character>>> GetCharacters()
{
var characters = await _context.Character
.Select(x => new
{
x.Id,
x.Name,
x.Race,
x.Class,
x.Age,
SpiritAnimalName = x.SpiritAnimalName.Name
})
.ToListAsync();
return characters;
}
НОВАЯ ОШИБКА:
Cannot implicitly convert type 'System.Collections.Generic.List<<anonymous type
to 'Microsoft.AspNetCore.Mvc.ActionResult<System.Collections.Generic.List
Спасибо!