Olá! Minha dúvida referente ao Migrations é - como ele identifica os modelos? Se eu tiver um modelo em uma outra pasta, vai ficar de fora? Por que?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá! Minha dúvida referente ao Migrations é - como ele identifica os modelos? Se eu tiver um modelo em uma outra pasta, vai ficar de fora? Por que?
Olá Renato.
Tudo bem?
Entendo sua dúvida sobre como o Entity Framework Core identifica os modelos para as migrations. O Entity Framework Core utiliza o contexto do banco de dados, representado pela classe que herda de DbContext, para identificar os modelos. Dentro dessa classe, você define as propriedades do tipo DbSet<T>, onde T são os seus modelos.
Por exemplo, se você tiver uma classe ApplicationDbContext assim:
public class ApplicationDbContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Product> Products { get; set; }
}
O Entity Framework Core vai identificar os modelos User e Product a partir das propriedades Users e Products respectivamente.
Quanto à sua dúvida sobre os modelos estarem em outra pasta, isso não é um problema. O que importa é que eles estejam referenciados no seu DbContext. Por exemplo, você pode ter a seguinte estrutura de pastas:
- Models
- User.cs
- Product.cs
- Data
- ApplicationDbContext.cs
Desde que as classes User e Product estejam corretamente referenciadas no ApplicationDbContext, o Entity Framework Core conseguirá identificá-las e incluí-las nas migrations.
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.