EFコアで固定長の列を設定するにはどうすればよいですか?

ef-code-first ef-fluent-api ef-migrations entity-framework entity-framework-core

質問

以前のEFでは、私はこれを行うことができました:

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

それは、

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

しかし、EFコアにはIsFixedLength()はありません。

これを行うには他の方法がありますか?

受け入れられた回答

現時点では(EF Core 1.1.0)、カラム型は直接指定することしかできません: .HasColumnType("char(123)")

あなたのDBエンジンがこの価値を理解していることを確認してください!それは "そのまま"渡されます。

また、 .HasMaxLength()値は無視されるため、ここに必要な寸法/長さ/精度の値をすべて記述するようにしてください。


人気のある回答

実際、バージョン2.1ではこれは次のように実装されています。

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


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ