次のテーブルが作成されています (EF7、現在は EF Core で DNX コマンドを使用して)
[Table("FishGrade")]
public partial class FishGrade
{
public FishGrade()
{
FishPrices = new HashSet<FishPrice>();
}
[HiddenInput]
[Column("FishGradeId")]
public int Id { get; set; }
[Column("GradeCode")]
[MaxLength(5), Required]
public string Code { get; set; }
[Column("GradeName")]
public string Name { get; set; }
public string IsActive { get; set; }
public virtual ICollection<FishPrice> FishPrices { get; set; }
}
ただし、テーブルが作成されると、Code 列 (=GradeCode という名前の列) が 1 文字の長さの列として作成されます。
OnModelCreating
メソッドには次のものもあります
modelBuilder.Entity<FishGrade>(entity =>
{
entity.Property(e => e.Code)
.HasColumnType("char");
entity.Property(e => e.Name)
.IsRequired()
.HasMaxLength(50);
entity.Property(e => e.IsActive)
.HasMaxLength(1)
.HasColumnType("char");
});
なぜこうなった?長さ= 5で列を作成するにはどうすればよいですか?