Невозможно запросить ApplicationDbContext, метод принимает 1 аргумент - PullRequest
1 голос
/ 04 февраля 2020

Я пытаюсь получить список моделей, но не могу запросить ApplicationDbContext. Я получаю ** Нет перегрузки для метода 'Запрос', требующего 1 аргумента. Здесь мой ApplicationDbContext

private readonly ApplicationDbContext _context;
        public DapperController(ApplicationDbContext context)
        {
            _context = context;
        }

и метод GetAll


public List<PoleModel> GetAll()
        {
            var obj = _context.Query<PoleModel>("Select * from dbo.GRAD").ToList();
            return obj;
        }

Должен ли я использовать что-то другое, чем List? Нравится IEnumerable или что-то? Я немного растерялся, потому что не работал. NET Ядро раньше ...

Ответы [ 2 ]

0 голосов
/ 04 февраля 2020

Вы, кажется, пытаетесь использовать смесь Entity Framework и Dapper. Вы внедряете ApplicationDbContext, но затем пытаетесь запросить его с помощью Dapper, как вместо объекта SqlConnection.

Чтобы запросить контекст с EF, вы должны сделать что-то вроде:

public List<PoleModel> GetAll()
{
    var obj = _context.PoleModelDbSet.ToList();
    return obj;
}

Принимая во внимание, что для использования Dapper вы вводите SqlConnection, например:

private readonly SqlConnection _connection;
public DapperController(SqlConnection connection)
{
    _connection = connection;
}

, и запрашиваете что-то вроде:

public List<PoleModel> GetAll()
{
    var obj = _connection.Query<PoleModel>("Select * from dbo.GRAD").ToList();
    return obj;
}
0 голосов
/ 04 февраля 2020

Вам нужно разрешить миграцию для вашей базы данных кода для инициализации. Откройте диспетчер пакетов и введите:

  1. Enable-migrations
  2. Добавить миграцию initCreate
  3. Обновить базу данных
...