Я использую EF Core 2.2.x и у меня есть таблица с 50+ строковыми столбцами. В моей миграции я хочу установить все это NCHAR
вместо NVARCHAR
. Все они имеют разную длину. Есть ли способ изменить тип SQL для всех столбцов одновременно, не устанавливая его вручную для каждого столбца? Я хочу сделать это в моем IEntityTypeConfiguration
.
public class MyTableConfig : IEntityTypeConfiguration<MyTable>
{
public void Configure(EntityTypeBuilder<MyTable> entity)
{
foreach (var property in entity.Metadata.GetProperties()
.Where(p => p.ClrType == typeof(string)))
{
if (property.GetMaxLength() == null)
property.SetMaxLength(256);
// Can it be set from here?
}
entity.ToTable("MyTable", "fooSchema");
entity.Property(e => e.Address1).HasMaxLength(30);
entity.Property(e => e.Address2).HasMaxLength(20);
/* A lot of other declarations below */
}
}
Я знаю, что могу использовать IsFixedLength
, но я хочу использовать его во всех столбцах.