«Неверное имя столбца» при создании выпадающего меню с помощью «new SelectList ()» - PullRequest
0 голосов
/ 22 апреля 2019

Я получил ошибку в заголовке при создании простого выпадающего меню.Это мой взгляд:

<td>
     <select asp-for="ThisShutdown.Id" asp-items=@(new 
          SelectList(Model.ListOfAllGGGs,"Id","Location"))>
          <option>Selelct a GGG</option>                    
     </select>  
</td>

Модель представления:

public class PlannerViewModel
{
    public GGGShutdown ThisShutdown { get; set; }
    public IEnumerable<GGGShutdown> ExistingShutdowns { get; set; }
    public IEnumerable<GGG> ListOfAllGGGs { get; set; }
}

Контроллер:

public class PlannerController : Controller
{
    private readonly IGGGRepository _GGGRepository;
    private readonly IGGGShutdownRepository _GGGShutdownRepository;

    public PlannerController (IGGGShutdownRepository GGGShutdownRepository, IGGGRepository GGGRepository)
    {
        _GGGShutdownRepository = GGGShutdownRepository;
        _GGGRepository = GGGRepository;
    }

    public IActionResult ShowGGGShutdowns()
    {
        IEnumerable<GGGShutdown> CurrentShutdowns = _GGGShutdownRepository.GGGShutdowns;
        IEnumerable<GGG> AllGGGs = _GGGRepository.GGGs;

        PlannerViewModel MyViewModel = new PlannerViewModel();
        MyViewModel.ExistingShutdowns = CurrentShutdowns;
        MyViewModel.ListOfAllGGGs = AllGGGs;
        return View(MyViewModel);
    }
}

Для информации, это класс GGG, который я использую для построения выпадающего списка:

public class GGG
{
    [Key]
    public Guid Id { get; set; }
    public string Location { get; set; }
    public string Country { get; set; }
    public string CustomerName { get; set; }
    public string PlantModel { get; set; }
    public string EntrySystem { get; set; }
    public string Technology { get; set; }
}

Есть идеи, как заставить его работать?

1 Ответ

1 голос
/ 22 апреля 2019

Ошибка «неверное имя столбца» почти всегда связана с тем, что ваша сущность не синхронизирована с таблицей, которая представляет ее в вашей базе данных. Возможно, вы переименовали свойство, добавили новое свойство и т. Д. И пренебрегли созданием новой миграции. Или, если вы используете существующую базу данных, вам, возможно, придется заново переназначить свои объекты из базы данных. В любом случае, Id или Location не совпадает с фактическим столбцом в вашей таблице. Выясните, почему, и ваша проблема решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...