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á!