Maximale LängeMaximum Length

Konfigurieren eine maximale Länge enthält einen Hinweis für den Datenspeicher zu den entsprechenden Datentyp, der für eine bestimmte Eigenschaft verwendet.Configuring a maximum length provides a hint to the data store about the appropriate data type to use for a given property. Maximale Länge gilt nur für Arraytypen, z. B. string und byte[].Maximum length only applies to array data types, such as string and byte[].

Hinweis

Entitätsframework führt keine Validierung einer maximalen Länge vor der Übergabe von Daten an den Anbieter aus.Entity Framework does not do any validation of maximum length before passing data to the provider. Es ist Aufgabe der Anbieter oder einem Datenspeicher gespeichert, um bei Bedarf zu überprüfen.It is up to the provider or data store to validate if appropriate. Z. B. bei der Zielgruppenadressierung von SQL Server, die maximale Paketlänge führt zu einer Ausnahme mit dem Datentyp der zugrunde liegenden Spalte nicht überschüssige Daten gespeichert werden können.For example, when targeting SQL Server, exceeding the maximum length will result in an exception as the data type of the underlying column will not allow excess data to be stored.

KonventionenConventions

Gemäß der Konvention wird es den Datenbankanbieter, wählen Sie einen entsprechenden Datentyp für Eigenschaften überlassen.By convention, it is left up to the database provider to choose an appropriate data type for properties. Für Eigenschaften, die eine Länge aufweisen, wird der Anbieter in der Regel einen Datentyp auswählen, der die längste Länge der Daten ermöglicht.For properties that have a length, the database provider will generally choose a data type that allows for the longest length of data. Microsoft SQL Server verwendet z. B. nvarchar(max) für string Eigenschaften (oder nvarchar(450) , wenn die Spalte als Schlüssel verwendet wird).For example, Microsoft SQL Server will use nvarchar(max) for string properties (or nvarchar(450) if the column is used as a key).

DatenanmerkungenData Annotations

Sie können die Datenanmerkungen verwenden, so konfigurieren Sie eine maximale Länge für eine Eigenschaft.You can use the Data Annotations to configure a maximum length for a property. In diesem Beispiel als Ziel in SQL Server führt dies zu den nvarchar(500) -Datentyp verwendet wird.In this example, targeting SQL Server this would result in the nvarchar(500) data type being used.

public class Blog
{
    public int BlogId { get; set; }
    [MaxLength(500)]
    public string Url { get; set; }
}

Fluent-APIFluent API

Sie können die Fluent-API verwenden, so konfigurieren Sie eine maximale Länge für eine Eigenschaft.You can use the Fluent API to configure a maximum length for a property. In diesem Beispiel als Ziel in SQL Server führt dies zu den nvarchar(500) -Datentyp verwendet wird.In this example, targeting SQL Server this would result in the nvarchar(500) data type being used.

class MyContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Blog>()
            .Property(b => b.Url)
            .HasMaxLength(500);
    }
}

public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }
}