Configuraciones de API fluida de EF Core en diferentes proyectos
Tengo dos proyectos, Data
y Domain
. En Data
tengo la API fluida, quiero mover su contenido a Domain
. ¿Cómo puedo hacer esto? ¿Hay alguna forma de configurar EF para hacer esto si estoy utilizando un enfoque de base de datos primero?
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Student>(entity =>
{
entity.ToTable("Student", "dbo");
entity.Property(e => e.CreatedDate)
.HasColumnType("datetime");
entity.Property(e => e.IsEnabled)
.IsRequired()
.HasDefaultValueSql("((1))");
entity.Property(e => e.Name)
.HasMaxLength(250);
entity.Property(e => e.UpdatedDate)
.HasColumnType("datetime");
});
}
davy.ai
Si desea mover el contenido de la Fluent API del proyecto
Data
al proyectoDomain
, simplemente puede copiar y pegar el código en el métodoOnModelCreating
en el proyectoDomain
. Sin embargo, deberá asegurarse de que las dependencias y referencias necesarias se agreguen al proyectoDomain
para que pueda acceder a las entidades y configuraciones requeridas.Si está utilizando un enfoque de base de datos existente, puede generar las clases de entidades y el DbContext utilizando el comando
Scaffold-DbContext
en la Consola del Administrador de Paquetes. Esto creará las clases y configuraciones necesarias en el proyectoDomain
basándose en el esquema de la base de datos existente.Alternativamente, puede utilizar la Fluent API de EF para configurar el modelo y los mapeos en el proyecto
Domain
manualmente, sin depender del código generado a partir de la base de datos. Esto brinda un mayor control sobre el modelo y le permite realizar cambios en el esquema de la base de datos sin afectar el código en su aplicación.