none
Indice UNIQE con Fluent Api Code first RRS feed

  • Pregunta

  • Hola Amigos, estoy probando entityframework usando code first, y usando fluent api, tengo la siguiente consulta, ¿Cómo le digo a mi modelo que un campo es clave unique usando fluent API?.

    Muchas gracias

    domingo, 20 de enero de 2013 19:15

Respuestas

Todas las respuestas

  • hola

    las key de la tabla por defecto sin unique, con solo indicar cual es la key alcanza

    por ejemplo usarias

    builder.Entity<NombreClass>().HasKey(p=>p.PropKey);

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 21 de enero de 2013 14:33
  • Hola Leandro, gracias por tu respuesta, tal vez no fui suficientemente claro, lo que quiero es mediante fluent api poder decirle que tiene una propiedad además de la PK uno que es clave unique o index unique...........por ejemplo una tabla persona que tiene un persanaId como clave principal pero que también tiene un campo que es DNI por ejemplo y que debe ser unique.

    Saludos

    lunes, 21 de enero de 2013 16:43
  • esto lo necesitas definir porque vas a usar Migrations ?

    o sea la estructura d ela db se crea en base al modelo de EF, lo pregunto porque si la db existe y no la creas desde el modelo no necesitas definir un campo UNIQUE

    cuando intentes guardar un campo repetido en ese campo solo saltara el error al insertar, pero no se necesita definir en el modelo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 21 de enero de 2013 17:02
  • Bueno estoy probando EF Code first y pues no he mirado lo de migrations todavía, lo pregunte porque pensé que había una forma de configurar la base de datos toda desde código, es decir crearle ese tipo de requerimientos vía código, porque creo el modelo que crea la BD y si modifico algo del modelo pues el me vuelve a crear la BD y si había creado índices por ejemplo se pierden.......supongo que con lo de migrations se resuelve eso...?.

    Lo que quiero saber es si por ejemplo la BD ya esta en producción y fue realizada via code first y luego hay que hacerle cambios a la estructura, por ejemplo, pues que no se pierdan los datos ni sp ni vista ni índices....etc. Hacer el deployment mas fácil.........

    Saludos

    lunes, 21 de enero de 2013 17:15
  • bien, entonces esta creando la estructura de la db en base al modelo, quizas debas analizar usar Migrations

    Code First Migrations

    quizas se podria aplicar lo que comenta aqui

    Unique key with EF code first

    o se ejecutar un comando para crear el unique cuando se inicializa

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Libardo jueves, 24 de enero de 2013 20:47
    martes, 22 de enero de 2013 14:38