既存のデータベースメソッドに EF Code-First を使用しておりIsActive
、データベースにフィールドがあります。問題は、フィールドVARCHAR
がboolean
. データベース スキーマを変更できません。
データベースの値の例は、"Y" (真)または "N" (偽)です。
マッピングするとき、これらの値を true/false に変換し、Entity クラスをブール値で保持したいと考えています。
これは可能ですか?
IsActive
私のエンティティとマッピングクラスは次のとおりですが、フィールドをブール値に変更したいと思います。
public class Employee
{
public int ID { get; set; }
public string SSN { get; set; }
public string Email { get; set; }
public string IsActive { get; set; }
}
public class EmployeeMap : EntityTypeConfiguration<Employee>
{
public EmployeeMap()
{
this.ToTable("Employees");
this.HasKey(t => t.ID);
this.Property(t => t.ID).HasColumnName("ID_Employee");
this.Property(t => t.SSN).HasColumnName("sReference");
this.Property(t => t.Email).HasColumnName("Email");
this.Property(t => t.IsActive).HasColumnName("IsActive");
}
}
編集:これ以外の解決策は見つかりませんでした: https://stackoverflow.com/a/6709186/1053611