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.