Search code examples
entity-frameworkentity-framework-4.1ef-code-firstkeyunique

How to add unique non primary-key field to entity using Entity Framework 4.1?


We are using Entity Framework 4.1 Code first.

We've got user entity with primary key set to UserId and need UserLogin to be unique. How can it be done?


Solution

  • Entity Framework does not support Unique constraints. You can create them using a SQL Query to generate unique constrains when initializing the database. Write your custom initializer for the model and execute SQL command to generate constrain.

    Edit

    Now (EF 6.1 onwards )you can easily have unique constrains ,

    [Index("UserLoginIndex", IsUnique = True)]
    public string UserLogin { get; set; }