@Slauma回答の更新。
次のように、すべての文字列にオーバーライドを使用しますOnModelCreating
。
modelBuilder.Properties<string>().Configure(s =>
s.HasMaxLength(256).HasColumnType("nvarchar"));
次に、次のような属性でプロパティを変更します。
[Column(TypeName = "nvarchar(MAX)")]
public string CaseComment { get; set; }
またはこれ:
modelBuilder.Entity<YourClass>()
.Property(b => b.CaseComment)
.HasColumnType("nvarchar(MAX)");
これにより、例外が発生する可能性があります。Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
列が正しいデータ型であっても、Entity Framework は正しいデータ型であるnvarchar(256)
と認識し、エラーをスローしますDbEntityValidationException
。
これを修正するには、代わりに次を使用します。
[Column(TypeName = "nvarchar(MAX)")]
[MaxLength]
public string CaseComment { get; set; }
または
modelBuilder.Entity<YourClass>()
.Property(b => b.CaseComment)
.HasColumnType("nvarchar(MAX)")
.HasMaxLength(null);