asp.net-mvc - tutorial - entity framework visual studio 2017
¿Es posible establecer una restricción única utilizando el código de Entity Framework primero? (2)
Quiero imponer una restricción única en una tabla y estoy usando Entity Framework Code-First.
¿Es posible agregar una restricción única usando EF 6? Creo que en versiones anteriores no fue posible.
Digamos que desea agregar la restricción Única en un solo atributo, puede hacer lo siguiente, comenzando desde EF6.1
[Index(IsUnique = true)]
public string Username { get; set; }
Si tiene varios campos relacionados con el mismo índice, utilizará
Índices de columnas múltiples
Los índices que abarcan varias columnas se especifican utilizando el mismo nombre en varias anotaciones de índice para una tabla determinada. Cuando crea índices de varias columnas, necesita especificar un orden para las columnas en el índice. Por ejemplo, el siguiente código crea un índice de varias columnas en Rating y BlogId llamado IX_BlogAndRating. BlogId es la primera columna en el índice y Rating es la segunda.
public class Post
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
[Index("IX_BlogIdAndRating", 2)]
public int Rating { get; set; }
[Index("IX_BlogIdAndRating", 1)]
public int BlogId { get; set; }
}
Por favor, consulte este enlace para más información.
Parece que la característica de restricción única que estaba programada para ser lanzada con la versión 6 fue empujada a 6.1
Con EF 6.1, puede definir una restricción utilizando el atributo Índice como se muestra a continuación:
[Index("IX_FirstAndSecond", 1, IsUnique = true)]
public int FirstColumn { get; set; }
[Index("IX_FirstAndSecond", 2, IsUnique = true)]
public int SecondColumn { get; set; }
O
Puede usar Fluent API como se muestra aquí en MSDN