Задача
при попытке получить столбцы в таблице, переданной в функцию, я получаю ошибку
Фасад базы данных не содержит определения для SqlQuery и не имеет доступного расширения
Метод SqlQuery
Сначала я работаю над asp.net core 2.1 web api code
Я пытаюсь создать функцию, дайте здесь имя таблицы, и она вернет столбцы, существующие в этом
таблица, но я получаю ошибку компиляции
Фасад базы данных не содержит определения для SqlQuery и недоступного расширения
метод SqlQuery
так Как решить эту ошибку
public class TabDbContext : DbContext
{
public TabDbContext(DbContextOptions<TabDbContext> options)
: base(options)
{ }
public DbSet<Employee> Employees { get; set; }
public DbSet<Employee> Departments { get; set; }
ПО контроллера API
Я делаю так:
public class EmployeesController : ControllerBase
{
private readonly TabDbContext _context;
public EmployeesController(TabDbContext context)
{
_context = context;
}
public List<string> GetColumnNames(string tablename)
{
var sql = "select COLUMN_NAME from information_schema.COLUMNS where table_name = @TableName";
SqlParameter sqlParameter = new SqlParameter("TableName", tablename);
var query = _context.Database.SqlQuery<string>(sql, sqlParameter).ToList();
return query;
}
Ожидаемый результат
Таблица сотрудников имеет два столбца EmployeeId, EmployeeName
вызов функции как GetColumnNames (Employees)
вернет
EmployeeID
EmployeeName