1
resposta

Multi-tenant

Bom dia,

Estou precisando migrar um projeto para que seja "multi-tenant" (várias empresas no mesmo banco de dados).

[DataContract]
public abstract class BaseModel
{
    [DataMember]
    public int Id { get; protected set; }
}

Para fazê-lo, penso que para meus modelos bastaria alterar a classe "Base Model" , incluindo um novo atributo (por exemplo EmpresaId), ficando dessa forma:

    public abstract class BaseModel
    {
        [DataMember]
        public int Id { get; protected set; }
        public int EmpresaId {get; protected set;}
    }

Esse seria o melhor caminho?

1 resposta

Olá Luiz, tudo certo?

Acredito que uma solução para várias empresas no mesmo banco de dados seria criar uma classe chamada Empresa (por exemplo) e essa classe poderia se tornar algo como uma "classe principal", com isso, você agrega todos os dados pertinentes a cada empresa. Mas é claro, esse seria o jeito que eu faria.

Esse seu jeito parece fazer mais sentido desde que todos seus objetos precise do Id da empresa. Mas aí já é mais questão de análise de sistemas.

Você consegue fazer sua solução desse jeito, mas tem que ver qual classe faz sentido implementar o BaseModel.

Espero ter ajudado!