Я новичок в EF Core 2 и пытаюсь создать свойства Entity, которые не равны NULL, со значением по умолчанию пустого пространства.Я использую свободный API.Конечным результатом является привязка данных по умолчанию N '(' '' ')' на стороне SqlServer.Я вполне уверен, что это ошибка, но есть ли известный обходной путь?
Я пытался манипулировать строками, чтобы учесть дополнительные апострофы и переменную.Однако, когда я смотрю на сценарий миграции, он корректен, поэтому кажется, что он происходит между процессом обновления базы данных и сервером и находится вне моего контроля.
public class EfficacyDBContext : DbContext
{
public virtual DbSet<Person> Person { get; protected set; }
public virtual DbSet<PersonType> PersonType { get; protected set; }
public EfficacyDBContext(DbContextOptions options) : base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.ApplyConfiguration(new PersonEntityTypeConfiguration());
modelBuilder.ApplyConfiguration(new PersonTypeEntityTypeConfiguration());
}
}
public class PersonEntityTypeConfiguration : IEntityTypeConfiguration<Person>
{
public void Configure(EntityTypeBuilder<Person> builder)
{
builder.ToTable("Person.Person");
builder.HasKey(x => x.Id);
builder.Property(x => x.Id).ValueGeneratedOnAdd();
builder.Property(x => x.FirstName).HasMaxLength(50)
.HasDefaultValue("('')").IsRequired();
}
}
На стороне SqlServer я ожидаю, что полепо умолчанию пустое значение, когда ничего не вводится.Однако из-за асимметричной привязки данных я получаю значение по умолчанию ('')