Maksymalna długośćMaximum Length

Konfigurowanie maksymalnej długości udostępnia wskazówkę dla magazynu danych o typie danych odpowiednie dla danej właściwości.Configuring a maximum length provides a hint to the data store about the appropriate data type to use for a given property. Maksymalna długość ma zastosowanie tylko do typów danych w tablicy, takich jak string i byte[].Maximum length only applies to array data types, such as string and byte[].

Uwaga

Entity Framework nie wszystkich sprawdzania poprawności maksymalną długość przed przekazaniem do dostawcy.Entity Framework does not do any validation of maximum length before passing data to the provider. Jest magazyn dostawcy lub danych, aby sprawdzić, czy odpowiednie.It is up to the provider or data store to validate if appropriate. Na przykład gdy przeznaczonych dla programu SQL Server, co przekracza maksymalną długość spowodują wyjątek jako typ danych kolumny źródłowej nie zezwala na nadmiarowe dane mają być przechowywane.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.

KonwencjeConventions

Konwencja jest pozostawiany do dostawcy bazy danych, aby wybrać odpowiedni typ danych właściwości.By convention, it is left up to the database provider to choose an appropriate data type for properties. Dla właściwości, które mają długość dostawcy bazy danych będzie zazwyczaj wybierz typ danych, umożliwiający najdłuższym długość danych.For properties that have a length, the database provider will generally choose a data type that allows for the longest length of data. Na przykład Microsoft SQL Server będzie używać nvarchar(max) dla string właściwości (lub nvarchar(450) Jeśli kolumna jest używana jako klucz).For example, Microsoft SQL Server will use nvarchar(max) for string properties (or nvarchar(450) if the column is used as a key).

Adnotacji danychData Annotations

Aby skonfigurować maksymalną długość dla właściwości, można użyć adnotacji danych.You can use the Data Annotations to configure a maximum length for a property. W tym przykładzie przeznaczonych dla programu SQL Server, spowodowałoby nvarchar(500) używany typ danych.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; }
}

Interfejsu API FluentFluent API

Aby skonfigurować maksymalną długość dla właściwości, można użyć interfejsu API Fluent.You can use the Fluent API to configure a maximum length for a property. W tym przykładzie przeznaczonych dla programu SQL Server, spowodowałoby nvarchar(500) używany typ danych.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; }
}