Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

EF OnModelCreating quando o BD já exite

Oi pessoal, quando o BD e suas tabelas já existem, o método OnModelCreating é necessário? O framework cria como se fosse uma camada intermediário?

Por exemplo, se eu tentar inserir um texto de 50char em uma coluna de 30char o framework vai "barrar" a inclusão antes mesmo de ir no BD ou ele não valida e tenta executar direto no BD?

1 resposta
solução!

Olá, Erick!

Pelo meu conhecimento, o uso do método OnModelCreating não é relacionado caso o banco de dados já pré-exista ou não. Esse método serve para você informar ao EntityFramework quais entidades/tabelas você quer que ele gerencie. O uso desse método é relativamente opcional porque o EntityFramework pode detectar automaticamente as entidades que ele deve gerenciar através das 'convenções', como foram chamadas no próprio curso, através de properties DbSet na classe herdada de DbContext.

Sobre as constraints que você comentou (No caso, da limitação da quantidade de caracteres de uma string/varchar), o EntityFramework utilize essas constraints informadas (usando o método HasMaxLength, no caso, na classe de Configuration) para que o EntityFramework saiba como gerar os migrations, isto é, como fazer essas constraints serem aplicadas na prática. Portanto, creio que o EntityFramework não deve 'barrar' a inclusão antes mesmo de ir ao banco de dados como você disse, mas sim o próprio banco de dados irá validar as constraints (através das migrations aplicadas ou caso o banco já tenha as constraints anteriormente).

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software