Вызов дочерних узлов Entity Framework Core - PullRequest
0 голосов
/ 15 сентября 2018

Я новичок в такого рода объектном программировании, вы не могли бы мне помочь?

Мне нужно вызывать дочерние узлы, но конкретные поля, но я не могу понять, как это сделать.Я уже изучил огромное количество мест, но это не похоже на работу.

Например, я хочу просто FirstName в RepunicAccount и всю остальную информацию из RepunicAccountType или что-нибудь подобное.

My DbContext:

public class RepunicContext : DbContext 
{
    public virtual DbSet<RepunicAccount> RepunicAccount { get; set; }
    public virtual DbSet<RepunicAccountType> RepunicAccountType { get; set; }

    protected override void OnConfiguring (DbContextOptionsBuilder optionsBuilder) 
    {
        optionsBuilder.UseSqlServer ("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Repunic;Data Source=DESKTOP-        6I8LD45\\SQLEXPRESS_ERICH");
    }

    public RepunicContext (DbContextOptions<RepunicContext> options) :base (options)
    { }

    public RepunicContext () { }
}

Класс моей модели:

public class RepunicAccount 
{
    public int ID { get; set; }
    public string Email { get; set; }

    public string Username { get; set; }
    public string Password { get; set; }

    public string FirstName { get; set; }
    public string LastName { get; set; }

    [ForeignKey ("ID_Type")]
    public int? ID_Type { get; set; }

    public ICollection<RepunicAccountType> TipoConta { get; set; }

    public DateTime? DataCadastro { get; set; } = DateTime.Now;
    public DateTime? DataAlteracao { get; set; } = DateTime.Now;
}

Класс моего дочернего узла:

public class RepunicAccountType 
{
    [Key]
    public int ID_Type { get; set; }

    public string Descricao { get; set; }
    public DateTime DataCadastro { get; set; } = DateTime.Now;
    public DateTime DataAlteracao { get; set; } = DateTime.Now;
}

У меня есть репозиторий, где я делаю кодирование, прежде чем поместить вконтроллер, он практически одинаков во всех местах, но я собираюсь показать пример, который я пытаюсь использовать в обоих местах.

public IEnumerable<RepunicAccount> GetAllByIDType () 
{
    var data = db.RepunicAccount.Where (a => a.ID_Type != null)
                                .Include (p => p.types);
    var type = db.RepunicAccountType.OrderBy (b => b.Descricao);

    return data.ToList();
}

Проблема в том, что я не знаю t know how to invoke specific items nor make anything else other thanToList (); `

Итак, что мне делать?Если есть еще информация, которую я могу отправить, просто спросите меня.

1 Ответ

0 голосов
/ 15 сентября 2018

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

Поскольку вы новичок в этой теме, пожалуйста, следуйте документации.

Основная документация EF

Я также создал видеоролик для начала работы с YouTube, который я бы посоветовал вам просмотреть несколько минут.

Видео на EF Core

короче, вам нужен DBContext и ваши модели. Затем вы можете начать запрос данных и вернуться в желаемом формате. Вот так:

    using (var context = new RepunicContext())
      {
        var accounts = context.RepunicAccounts.ToList();
      }

учетных записей будет иметь список всех учетных записей, через которые вы можете выполнить итерацию. Надеюсь, это поможет.

...