需要在模型映射中指定数据库中的布尔类型对应的CLR类型为bool。示例代码如下:
public class MyEntityMapping : EntityTypeConfiguration
this.Property(x => x.IsAvailable)
.HasColumnName("IsAvailable")
.IsRequired()
.HasColumnType("BIT")
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None)
.HasColumnAnnotation("DefaultValue", false);
}
}
在上面的代码中,我们显式地指定了IsAvailable属性的CLR类型为bool,并将其对应的数据库类型设置为BIT。同时,我们还设置了DefaultValue注释为false,以确保每次插入新记录时,IsAvailable都会显示为false,因为否则会出现一些意料之外的行为。