Я также хотел исключить значение nullable bool? введите свойство сущности, используя EntityConfiguration. Проблема, с которой я сейчас столкнулся, заключается в том, что когда я делаю свойство сущности ненулевым логическим значением вместо bool? миграция завершается неудачей, говоря, что тип должен иметь значение NULL.
Сначала у меня есть этот ValueConverter для преобразования моих строковых значений в логические значения, не допускающие значения NULL.
Код: Выделить всё
internal class StringToBoolValueConverter : ValueConverter
{
public StringToBoolValueConverter() : base(ConvertToDbValue, ConvertToEntityValue) { }
private static Expression ConvertToEntityValue
=> value => value == null || value.Contains("N", StringComparison.OrdinalIgnoreCase) ? false : true;
private static Expression ConvertToDbValue
=> value => value == false ? "N" : "Y";
///
/// Allow nulls to pass into converter for conversion.
///
public override bool ConvertsNulls => true;
}
Код: Выделить всё
public class EntityName
{
public bool IsActive { get; set; }
}
Код: Выделить всё
public class EntityNameConfiguration : ...omitted
{
builder.Property(e => e.IsActive)
.HasConversion()
.HasMaxLength(10)
.IsUnicode(false)
.IsRequired(false)
}
Возможно ли то, что я хочу здесь сделать?
Подробнее здесь: https://stackoverflow.com/questions/791 ... ing-column
Мобильная версия