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á! 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.