Tenho 2 models: Usuario, Processo Usuario.cs é uma classe normal com Nome, Matricula, Email.
Processo.cs tem vários atributos comuns e um atributo chamado Andamento que se destina a armazenar uma série de Andamentos que o processo virá a ter. E outro atributo Encarregados destinado a armazenar uma série de Usuários que se encarregarão do projeto:
public Processo ()
{
Encarregados = new List<Usuario>();
Andamentos = new List<Andamento>();
}
[Key]
public int ProcessoId { get; set; }
...outros atributos string e int comuns
public virtual ICollection<Andamento> Andamentos { get; set; }
public virtual ICollection<Usuario> Encarregados { get; set; }
}
Crio os Controllers e Views das duas classes usando o Scaffolding, adiciono a Migration e faço o update-database.
E quando vou olhar no banco de dados a estrutura da tabela Usuarios vejo que foram adicionados dois índices nela:
Processo_ProcessoId Andamento_AndamentoId
Por que?
Por que colocar índices em uma tabela que será usada e não usuará nada?
Um usuário poderá estar com vários processos, de que adianta registrar no registro dele um Id de apenas um Processo, ou um Id de um Andamento? Não faz sentido!!!
Ou isso é processo normal do banco e não devo me incomodar?