1 回答

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
類別可能有多個(gè)產(chǎn)品。
那么它不是one-to-one,而是它one-to-many和你的模型類應(yīng)該如下所示:
public class Categoria
{
[Key]
public int id { get; set; }
public string descricao { get; set; }
public string observacao { get; set; }
public int status { get; set; }
public virtual ICollection<Produto> produtos { get; set; }
}
public class Produto
{
[Key]
public int id { get; set; }
[ForeignKey("categoria")]
public int categoriaId {get; set;}
public string descricao { get; set; }
public string observacao { get; set; }
public int status { get; set; }
public decimal valorVenda { get; set; }
public virtual Categoria categoria { get; set; }
}
而且您不需要任何FluentAPI配置。所以刪除modelBuilder.Entity<Produto>()配置。而且您也不需要分別為Produto和兩個(gè)不同的 DbContext Categoria。而是讓你DbContext的如下:
public class ApplicationDbContexto : DbContext
{
public ApplicationDbContexto(DbContextOptions<ApplicationDbContexto> options) : base(options)
{
}
public DbSet<Categoria> Categorias { get; set; }
public DbSet<Produto> Produtos { get; set; }
}
您的查詢應(yīng)如下所示:
[HttpGet]
public async Task<ActionResult<IEnumerable<Produto>>> GetProdutos()
{
return await _context.Produtos.Include(p => p.categoria).ToListAsync();
}
- 1 回答
- 0 關(guān)注
- 77 瀏覽
添加回答
舉報(bào)