no hay tutoriales lo que explicaría la API Fluido junto con Database- Primer acercamiento porque la API de Fluent se hace solo para el enfoque de Code-First. No necesita la API Fluent si desea crear su modelo a través de Database-First.
Fluent API (junto con las anotaciones y convenciones de datos Code-First) es una herramienta para definir detalles de modelo en código, como longitud de cadena, si se requiere una propiedad o el tipo de relación - many-to-many, one -to-many, etc. Al utilizar Database-First o Model-First, el archivo EDMX tiene el mismo propósito: contiene todos los detalles y las definiciones de mapeo de su modelo. Fluent API (+ anotaciones y convenciones de datos) reemplaza el archivo EDMX solo cuando se usa Code-First.
Si crea el modelo a través de Database-First o Model-First, tendrá un archivo EDMX que representa su modelo. Puede aplicar el T4 DbContext Generator a este archivo EDMX. Los archivos generados tienen dos características son diferentes de Código-Primera:
La cadena de conexión generado contiene una sección refiriéndose a los metadatos EDMX que será incorporado en la asamblea:
connectionString="metadata=res://*/Model.csdl
|res://*/Model.ssdl
|res://*/Model.msl;
..."
El genera DbContext
contexto tendrá un método anulado OnModelCreating
que acaba de lanza una excepción:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
Mientras abandone la sección de metadatos en la cadena de conexión, EF ni siquiera llamará a OnModelCreating
o cualquier código en la API Fluent en este método. La sección de metadatos le dice a EF que su modelo es DB- o Model-First y que los metadatos están definidos en el EDMX incorporado y no en la Fluent API.
Sin embargo, puede eliminar la sección de metadatos de la cadena de conexión, eliminar el UnintentionalCodeFirstException
y escribir el código con la API Fluent en OnModelCreating
. Puede seguir este procedimiento para crear un modelo inicial a través de Database-First y luego construir sobre este modelo inicial para un mayor desarrollo con Code-First.
En este momento ya no está trabajando con Database-First, pero Code-First y todo lo que lee sobre Fluent API es válido para usted.
Voy a marcar tu publicación como respondida en un día o dos ya que ya has respondido mi pregunta original, pero si encuentras la hora, estoy aprendiendo sobre DBContext y su API de validación De todas formas, supongo que Validation API también se puede usar con Database-First, aunque Database-First no utiliza Fluent-API. – user702769
@ user702769: Hm, buena pregunta ... Realmente no lo sé. Nunca utilicé la función de validación con la base de datos primero. Quizás haga una nueva pregunta sobre esto. – Slauma
hará eso. Muchas gracias por su ayuda – user702769