Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

784
Views
DataAnnotation [Index(IsUnique = true)] on a column throws error Attribute 'Index' is not valid on this declaration type

This is my first time exploring DataAnnotations (I was hoping to use this over fluent)...and I don't understand why the following code throws a compile time error:

CS0592 - Attribute 'Index' is not valid on this declaration type. It is only valid on 'class' declaration

public class Holiday
{
    [Key]
    public int Id { get; set; }

    [Required]
    [Index(IsUnique = true)]
    public DateTime? Date { get; set; }

    public string Name { get; set; }
}

My goal is to make the Date column UNIQUE...and I thought using [Index(IsUnique = true)] on a column is the correct way to make it unique...but it is not allowing me to use the Index attribute on columns, only on classes...

Please teach me how to achieve this? ๐Ÿ™๐Ÿ™๐Ÿ™

over 4 years ago ยท Santiago Trujillo
1 answers
Answer question

0

Well, the Index attribute is the data annotation equivalent of the HasIndex fluent API, and similar to the API, it's meant to be applied at the entity (class) level, providing the properties that make up the index, in order , plus other information such as the index. name, if it is unique, etc.

So in your case you would need something like this

 [Index(nameof(Holiday.Date), IsUnique = true)] public class Holiday { // ... }

which corresponds to the following fluent configuration

 modelBuilder.Entity<Holiday>() .HasIndex(e => e.Date) .IsUnique();

Actually all of this is well explained with examples in the Indexes section of the official EF Core documentation.

over 4 years ago ยท Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
ยฉ 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!