Чтение из базы данных

Eсть база данных VPN в ней таблица accounting_data надо считать в ней определенные столбцы. Создаем подключение через entity.

1 контекст данных

public class accounting_dataContext : DbContext
{
    public accounting_dataContext() : base("VPN")
    { }
    public DbSet<accounting_data> accounting_data { get; set; }
}

2 описываем класс

public class accounting_data
{
    public int Id { get; set; }
    public string User_Name { get; set; }
}

3 пробуем получить данные из первой строки

using (accounting_dataContext db = new accounting_dataContext())
{
     var accounting = db.accounting_data
         .Select(c => new
         {
             Id = c.Id,
             User_Name = c.User_Name
          })
          .FirstOrDefault();                    
     db.SaveChanges();
}

И получаю пустой объект accounting = null где ошибка?

что бы было понятнее вот так выглядят столбцы данныхвведите сюда описание изображения]1


Ответы (1 шт):

Автор решения: Sergey

Сами ентити нужно тоже описать. Как они представлены в базе так же как и ключи. Используйте скафолд для того, что бы получить аклуальный контекст бд и все.

В Visual Studio: Package Manager Console (обычно в вкладках снизу). Нужно указать параметры вашей базы данных и параметров авторизации к ней:

https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell

Пример: scaffold-dbcontext "data source={{data_source}};initial catalog={{db_name}};persist security info={{True/False}};user id={{user_name}};password={{password}}" Microsoft.EntityFrameworkCore.SqlServer -OutputDir ChangesFew -tables {{shema}}.{{TableName}}, {{shema}}.{{TableName}} -Force

→ Ссылка