none
Entity Framework - Code First - Fluent Api - PK y FK RRS feed

  • Pregunta

  • Consulta quiero hacer que una columna sea pk y fk a la vez. Lo quiero escribir con fluent api.

    Defino la pk compuesta

    modelBuilder.Entity<huesped>().HasKey(k => new { k.identidadId, k.nacionalidadId });

    Defino la fk ( en donde la fk es parte de la pk)

    modelBuilder.Entity<huesped>().HasRequired(n => n.nacionalidad).WithMany().Map(m=> m.MapKey("nacionalidades_nacionalidadId"));

    como yo le defino el nombre ("nacionalidades_nacionalidadId") me lo hace por separado:

    En la base de datos me queda de la siguiente manera:

    identidadId (pk)

    nacionalidadId (pk)

    nacionalidades_nacionalidadId (fk)

    Si lo hago de la siguiente forma:

    modelBuilder.Entity<huesped>().HasKey(k => new { k.identidadId, k.nacionalidadId });


    modelBuilder.Entity<huesped>().HasRequired(n => n.nacionalidad);

    En la base de datos me queda de la siguiente forma:

    identidadId (pk)

    nacionalidadId (pk - fk)  acá quedaría bien pero no puedo definir el nombre a la fk.

    martes, 22 de enero de 2013 15:02

Todas las respuestas