Duvida sobre modelagem ORM para e-commerce ?

Estou desenvolvendo um e-commerce para vender alguns itens de uma lojinha q tenho, como nunca desenvolvi nada referente a e-commerce estou com dúvida quanto a modelagem da parte de produto/estoque. Gostaria de uma opinião se estou no caminho certo.

Produto

public class Produto{

    public virtual long id                                      { get; set; }
    public virtual String descricao                             { get; set; }
    public virtual String descDetalhada                         { get; set; }    
    public virtual Subcategoria subcategoria                    { get; set; }    
    public virtual int status                                   { get; set; }
    
    public Produto(){
    }
    public override string ToString(){
        return descricao;
    }

}

Estoque

public class Estoque{

    public virtual long id                                      { get; set; } 
    public virtual IList<Produto> produtos                      { get; set; }
    public virtual Cor cor                                      { get; set; }
    public virtual Tamanho tamanho                              { get; set; }
    public virtual int qtdEstoque                               { get; set; }
    public virtual decimal valorCompra                          { get; set; }
    public virtual decimal valorAntigo                          { get; set; }
    public virtual decimal valorVenda                           { get; set; }    

    public Estoque(){
        produtos = new List<Produto>();        
    }

   
}