فرض میکنیم که یک Enum بصورت زیر داریم :
حال میخواهیم از این Enum در یک مدل ساده استفاده کنیم. از آنجا که EF هنوز قادر به پشتیبانی از Enum نمیباشد باید به روش زیر عمل کنیم:
1) توسط data Annotation
[Flags] public enum Gender : byte { None=0, Male=1, Female=2, };
1) توسط data Annotation
public class User { public int UserId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Username { get; set; } [Column(Name="Gender")] public int InternalGender { get; set; } [NotMapped] public Gender Gender { get { return (Gender)this.InternalGender; } set { this.InternalGender = (int)value; } } public DateTime DateOfBirth { get; set; } }
2) توسط Fluent API
modelBuilder.Entity<Participant>().Ignore(p => p.Gender); modelBuilder.Entity<Participant>().Property(p => p.InternalGender).HasColumnName("Gender");