してください。エンティティフレームワークのコードでenumをどのように扱うか。私は私のクラス「Annonce」に私はこのpropretyEFコードのenumsを最初に
public Status EtatAnnonce { get; set; }
を持つことができ、ステータスは、データベースにint型として値を格納するためのコンバータのフィールドを作成する必要があり、この
public enum Status
{
Pending,
Approved
}
してください。エンティティフレームワークのコードでenumをどのように扱うか。私は私のクラス「Annonce」に私はこのpropretyEFコードのenumsを最初に
public Status EtatAnnonce { get; set; }
を持つことができ、ステータスは、データベースにint型として値を格納するためのコンバータのフィールドを作成する必要があり、この
public enum Status
{
Pending,
Approved
}
のように定義されていることを望みます。
public int MyEnumValueInt {get;set;}
[NotMapped]
public MyEnum MyEnumValue
{
get{ return (MyEnum)MyEnumValueInt;
set{ MyEnumValueInt = (int)value;
}
注:列挙型のサポートは、私はEFで列挙型に関する二つの質問に答えましたEF 5.
に改善されます。これらは、に沿ってあなたを助ける必要があります。
Enums with EF code-first - standard method to seeding DB and then using?
と
あなたが好きなプロパティ型にデータをマップするために、モデル内のプライベートプロパティを使用することができます。
// Model
public class Piece
{
// Subclass Piece to add mappings for private properties
public class PieceConfig : EntityTypeConfiguration<Piece>
{
public PieceConfig()
{
Property(b => b.dbtype); // needed for EF to see the private property
}
}
[Column("type", TypeName = "VARCHAR")]
private string dbtype { get; set; }
[NotMapped]
public PIECE type
{
get { return (PIECE)Enum.Parse(typeof(PIECE), dbtype); }
set { dbtype= value.ToString(); }
}
}
その後、あなたは自分のOnModelCreatingメソッドに設定を追加する必要が
modelBuilder.Configurations.Add(new Piece.PieceConfig());
は、Entity Frameworkのコード内で列挙型のサポートの概要を与えるために
EF5 does not create enum columns
に向けてあなたを指します最初:
EF4:Not supp
EF5をorted:あなたは、.NET Framework 4.5と高い
EF6をターゲットにしている場合にのみサポート:あなたは.NET 4.0と高い
乾杯を対象とする場合にのみサポート!
これを確認してください。 http://the--semicolon.blogspot.com/p/handling-enum-in-code-first-entity.html – iJay