流暢なAPIを使用してEF6コードの最初のモデルを構築しています。私の理解は、デフォルトでは、文字列はnvarchar(max)になります。だから私は、255文字に最大のデフォルトの長さを設定するには、次の大会のコードを追加しました:EF6コードを設定する最初の文字列を流暢にnvarchar(最大)
modelBuilder.Properties<string>()
.Configure(p => p.HasMaxLength(255));
その後、私はそうのようなデコレータ作成:私は実際に私の特定の文字列プロパティにこれを適用する
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public class TextAttribute : Attribute
{
}
をNVARCHAR(MAX)になりたい
[Text]デコレータを含むすべての文字列プロパティがNVARCHAR(MAX)を使用してdbに組み込まれていることを確認するにはどうすればよいですか?
modelBuilder.Properties<string>()
.Where(p => p.CustomAttributes.Any(a => typeof(TextAttribute).IsAssignableFrom(a.AttributeType)))
.Configure(p => p.HasMaxLength(?????));
私はこれを完全に間違っていると思いますか?