Does the new Migrations feature of Entity Framework 5 fully support enum changes?

Viewed 1220

Let's say we have the following simple model:

public class Car
{
    public int Year { get; set; }
    public string Make { get; set; }
    public string Model { get; set; }
    public CarType Type { get; set; }
}

public enum CarType
{
    Car, Truck
}

Entity Framework, when adding a new Car object to the database, will store the CarType enum value as an integer.

If we change the CarType enum in a way where the integer values change (change the order or add/remove values), does Entity Framework know how to properly handle the data migration using Migrations?


For example, let's say we added another value to CarType:

public enum CarType
{
    Car, Truck, Van
}

This would have no real effect on the existing data in the database. 0 is still Car, and 1 is still Truck. But if we changed the order of CarType, like this:

public enum CarType
{
    Car, Van, Truck
}

Database records with 1 as the CarType to designate Truck would be incorrect, since according to the updated model 1 is now Van.

1 Answers
Related