Ich bin ein erstes Modell EF6-Code mit der fließenden API. Mein Verständnis ist, dass Strings standardmäßig nvarchar (max) sind, was für einen Standard dumm ist. So habe ich die folgende Konvention Code max Standardlänge auf 255 Zeichen zu setzen:Set EF6 Code Erste Strings fließend zu Nvarchar (max)
modelBuilder.Properties<string>()
.Configure(p => p.HasMaxLength(255));
Dann habe ich ein Dekorateur wie so:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public class TextAttribute : Attribute
{
}
ich diese auf bestimmte Zeichenfolge Eigenschaften anwenden möchten, dass ich tatsächlich möchte NVARCHAR (MAX) sein.
Was stelle ich in die fließende API, um sicherzustellen, dass alle Zeichenfolgeneigenschaften mit dem [Text] -Dekorator in der db mit NVARCHAR (MAX) erstellt werden? Ich nehme an, es wäre so etwas wie:
modelBuilder.Properties<string>()
.Where(p => p.CustomAttributes.Any(a => typeof(TextAttribute).IsAssignableFrom(a.AttributeType)))
.Configure(p => p.HasMaxLength(?????));
Oder mache ich das völlig falsch?