none
Entity Framework Core não retorna dados do relacionamento um para muitos RRS feed

  • Pergunta

  • Olá Pessoal, 

    Estou na metade dos estudos para migração para o .net (venho do PHP). Minha duvida é a seguinte:

    Fiz um relacionamento de um para muitos no EF Core da Classe Produto com a Classe Compra. Tenho um Produto que pode ser usado em muitas compras. No PHP eu acesso a propriedade de um relacionamento através dessa sintaxe:

    $compra->Produto->Nome;


    Gostaria de fazer o mesmo com o entity porém não sei se há a possibilidade ou se devo fazer uma nova consulta com o ProdutoId existente na compra. Abaixo segue o código dos dois modelos e do programa.

    namespace TesteBancoDeDados
    {
        public class Compra
        {
            public int Id { get; set; }
            public decimal Quantidade { get; set; }
            public decimal PrecoTotal { get; set; }
    
            public int ProdutoId { get; set; }
            public Produto Produto { get; set; }
    
            public override string ToString()
            {
                return $"Produto:{Produto}, ProdutoId: {ProdutoId}";
            }
        }
    }
    
    
    namespace TesteBancoDeDados
    {
        public class Produto
        {
            public int Id { get; set; }
            public string Nome { get; set; }
            public string Categoria { get; set; }
            public decimal PrecoUnitario { get; set; }
            public string Unidade { get; set; }
        }
    }
    
    
    namespace TesteBancoDeDados
    {
        class Program
        {
            static void Main(string[] args)
            {
                CompraDAOEntity compraDAOEntity = new CompraDAOEntity();
    
    
                IList<Compra> compras = compraDAOEntity.Compras();
    
                foreach (Compra compra in compras)
                {
                    Console.WriteLine(compra.Produto.Nome);
                }
            }
        }
    }

    O Erro que me retorna dessa ação é: System.NullReferenceException: 'Referência de objeto não definida para uma instância de um objeto.'

    Como eu poderia pegar essa referência automaticamente assim como no "Eloquent" do Laravel (PHP)?

    Grato desde já!

    quarta-feira, 16 de janeiro de 2019 16:39