Właściwości wymaganych i opcjonalnychRequired and Optional Properties

Właściwości są traktowane jako opcjonalne, jeśli jest on prawidłowy dla on zawierać null.A property is considered optional if it is valid for it to contain null. Jeśli null nie jest prawidłową wartość do przypisania 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

Konwencja, właściwości, których typ CLR może zawierać wartości null zostanie skonfigurowana 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 skonfigurowana jako wymagany (int, decimal, boolitp.).Properties whose CLR type cannot contain null will be configured as required (int, decimal, bool, etc.).

Uwaga

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

Adnotacji danychData Annotations

Aby wskazać, że właściwość jest wymagana, można użyć adnotacji danych.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; }
}

Interfejsu API FluentFluent 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; }
}