Erforderliche und optionale EigenschaftenRequired and Optional Properties

Eine Eigenschaft ist optional, wenn es gültig ist, damit enthalten ist als null.A property is considered optional if it is valid for it to contain null. Wenn null ist kein gültiger Wert, eine Eigenschaft zugewiesen werden soll, und klicken Sie dann dieses als betrachtet ist eine erforderliche Eigenschaft.If null is not a valid value to be assigned to a property then it is considered to be a required property.

KonventionenConventions

Gemäß der Konvention, eine Eigenschaft, deren CLR-Typ Null darf, konfiguriert werden soll als optional (string, int?, byte[]usw..).By convention, a property whose CLR type can contain null will be configured as optional (string, int?, byte[], etc.). Eigenschaften, deren CLR-Typ kann nicht Null enthalten, konfiguriert werden wie erforderlich (int, decimal, boolusw..).Properties whose CLR type cannot contain null will be configured as required (int, decimal, bool, etc.).

Hinweis

Eine Eigenschaft, deren CLR-Typ nicht null enthalten kann, kann nicht als optional konfiguriert werden.A property whose CLR type cannot contain null cannot be configured as optional. Die Eigenschaft wird immer erforderlich, die für Entity Framework berücksichtigt werden.The property will always be considered required by Entity Framework.

DatenanmerkungenData Annotations

Sie können Datenanmerkungen verwenden, um anzugeben, dass eine Eigenschaft erforderlich ist.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; }
}

Fluent-APIFluent API

Sie können die Fluent-API verwenden, um anzugeben, dass eine Eigenschaft erforderlich ist.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; }
}