MVC: получить список значений из базы данных - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь получить данные из моей базы данных в контроллере MVC.Это код, который у меня есть, но я не уверен, что я делаю это правильно, используя запрос LINQ

public class EditProfileController : Controller
{
    private ApplicationDbContext db = new ApplicationDbContext();

    public IActionResult Index()
    {
        var listdata = db.Users.ToList().Select(x => new FE.Models.AspNetUsers
        {
            Id = x.Id,
           // (repeat the same for all)
        }).ToList();
    }
}

Получить ошибку по индексу:

EditProfileController.Index (): невсе пути кода возвращают значение FE

и для db:

Имя db не существует в текущем контексте

Как можноВытащить данные из таблицы базы данных, чтобы создать представление списка?Должен ли я использовать LINQ, и если да, то чего мне не хватает в моем коде выше?

Ответы [ 3 ]

0 голосов
/ 19 июня 2019

Я работаю только с VB (использую C # конвертер), поэтому вот как я получаю список значений из моей БД:

Public Function Index()
   dim listData as List(Of Users) = new List(Of Users)

  Using db as new YourDB()
    listData = db.Users.Select(Function(x) x.Id = id).ToList()
  End Using

  return listdata
End Function

Или вы можете просто использовать IQueryable вашей модели.

0 голосов
/ 19 июня 2019
public class EditProfileController : Controller
{
    public IActionResult Index()
    {
        List<FE.Models.AspNetUsers> listdata = new List<FE.Models.AspNetUsers>();
        using(ApplicationDbContext db = new ApplicationDbContext())
        {
            listdata = db.Users.Select(x => new FE.Models.AspNetUsers
            {
                Id = x.Id,
               // (repeat the same for all)
            }).ToList();
        }

        return View(listdata)
    }
}

Я сделал пару предположений, что вы пытаетесь передать список в представление, а не возвращать список AspNetUsers, и ваш контекст БД работает. Убедитесь, что вы объявили модель следующим образом:

@model IEnumerable<FE.Models.AspNetUsers>
0 голосов
/ 19 июня 2019

Вы ничего не возвращаете, вы должны вернуть свой список:

public class EditProfileController : Controller
{
    public IActionResult Index()
    {
        var listdata = db.Users.ToList().Select(x => new FE.Models.AspNetUsers
        {
            Id = x.Id,
           // (repeat the same for all)
        }).ToList();
        return Ok(listdata);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...