Wymagane i opcjonalne właściwościRequired and Optional Properties

Właściwości są traktowane jako opcjonalne, jeśli jest on prawidłowy, aby mogła zawierać null.A property is considered optional if it is valid for it to contain null. Jeśli null nie jest prawidłową wartością ma być przypisane do właściwości, a następnie jest on uznawany za jest właściwością wymaganą.If null is not a valid value to be assigned to a property then it is considered to be a required property.

KonwencjeConventions

Zgodnie z Konwencją, właściwość, której typ CLR może zawierać wartości null zostanie skonfigurowany jako opcjonalny (string, int?, byte[]itp.).By convention, a property whose CLR type can contain null will be configured as optional (string, int?, byte[], etc.). Właściwości, których typ CLR nie może zawierać wartości null zostanie skonfigurowany zgodnie z wymogami (int, decimal, boolitp.).Properties whose CLR type cannot contain null will be configured as required (int, decimal, bool, etc.).

Uwaga

Właściwość, której typ CLR nie może zawierać wartości null nie można skonfigurować jako opcjonalną.A property whose CLR type cannot contain null cannot be configured as optional. Właściwość będzie zawsze być brana pod uwagę wymagane przez program Entity Framework.The property will always be considered required by Entity Framework.

Adnotacje danychData Annotations

Korzystanie z adnotacji danych, aby wskazać, że właściwość jest wymagana.You can use Data Annotations to indicate that a property is required.

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

Interfejs Fluent APIFluent API

Aby wskazać, że właściwość jest wymagana, można użyć interfejsu API Fluent.You can use the Fluent API to indicate that a property is required.

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

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

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