39

既存のデータベースメソッドに EF Code-First を使用しておりIsActive、データベースにフィールドがあります。問題は、フィールドVARCHARboolean. データベース スキーマを変更できません。

データベースの値の例は、"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

4

2 に答える 2