如何在EF Core中配置固定长度列?

时间:2016-11-24 09:35:11

标签: entity-framework ef-code-first entity-framework-core ef-migrations ef-fluent-api

在之前的EF中,我可以这样做:

  entityTypeBuilder
    .Property(b => b.Foo)
    .IsRequired()
    .HasMaxLength(10)
    .IsFixedLength();

这会产生类似

的迁移
Foo = c.String(nullable: false, maxLength: 10, fixedLength: true)

但是在EF Core中没有IsFixedLength()

还有其他方法吗?

2 个答案:

答案 0 :(得分:10)

目前(EF Core 1.1.0)您只能直接指定列类型:.HasColumnType("char(123)")

请确保您的数据库引擎了解此值!它通过"按原样#34;。

另请注意,您应在此处写下所有必需的尺寸/长度/精度值,因为.HasMaxLength()值将被忽略。

答案 1 :(得分:1)

实际上,对于2.1版,此实现为:

entity.Property(e => e.Name).HasMaxLength(X).IsFixedLength();