次の単純なモデルがあるとします。
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
}
Car
Entity Framework は、データベースに新しいオブジェクトを追加するときに、CarType
列挙値を整数として格納します。
CarType
整数値が変化する方法で列挙型を変更した場合(順序の変更または値の追加/削除)、 Entity Framework は移行を使用してデータ移行を適切に処理する方法を認識していますか?
たとえば、別の値を に追加したとしますCarType
。
public enum CarType
{
Car, Truck, Van
}
これは、データベース内の既存のデータには実際には影響しません。0
まだまだですCar
、1
まだまだTruck
です。しかし、次のように の順序を変更すると、次のCarType
ようになります。
public enum CarType
{
Car, Van, Truck
}
更新されたモデルによるとが現在であるため、指定する が1
のデータベース レコードは正しくありません。CarType
Truck
1
Van