none
Pegar Valor de uma entidade via propriedade de navegação RRS feed

  • Discussão Geral

  • Olá pessoal! Olha eu aqui mais uma vez!

    Agora venho com uma pergunta que parece básica, mas estou quebrando a cabeça para resolver.

    Como posso pegar o valor de um atributo de uma entidade via Properties Navigations?

    Exemplo:

    Eu tenho as classes:

    public class Budget
    {
        public Guid Id {get; set;}
        ... // Outros atributos
        
        //Propriedade de Relacionamento
        public IEnumerable<BudgetItem> BudgetItems {get; set;}
    }
    
    
    public class BudgetItem
    {
        public Guid Id {get; set;}
        public string NameItem {get; set;}
        ... // Outros atributos
    
        //ForeingKey
        public Guid BudgetId {get; set;}
    
        //Propriedade de Navegação
        public Budget Budget {get; set;}
    }


    Em minha camada de Infra tenho todo o mapeamento. Funciona perfeito. O CRUD é realizado como previsto e no caso, é persistido no banco apenas os "Ids" da entidade. Nada fora do padrão. Acontece que, eu quero mostrar em minha View>Index uma lista de BudgetItem e para qual cada qual Budget cada um está relacionado.

    Na consulta normal é apresentado assim:

    Tabela na View

    BudgetItem    |    Budget - Observação: é apresentado o Guid salvo

    Item 1           |     a6fa353b-e55b-42f3-92f2-17cecda4725d

    Item 2           |     c7b90b8e-4fd1-4422-8c11-bb5fbaae7f05

    O que preciso é que mostre desse jeito:

    BudgetItem    |    Budget

    Item 1           |     Nome do Orçamento

    Item 2           |     Nome do Orçamento

    Em outras aplicações (EF6 e Windows Forms) eu apenas carregava fazia uma consulta simples tipo:

    public IEnumerable<BudgetItem> GetByBudgetName(budgetName)
    {
       return _context.ButgetItem.Where(c => c.Budget.Name.Equals(budgetName));
    }

    No entanto no ASP.NET Core 2.0 isso não funciona. Simplesmente não consigo acessar dados de outra classe/tabela por meio das propriedades de navegação.

    Os nobres amigos poderiam me ajudar com isso!

    Desde já agradeço.

    quarta-feira, 17 de outubro de 2018 19:38