Erforderliche und optionale EigenschaftenRequired and Optional Properties

Eine Eigenschaft ist optional, wenn er 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, der einer Eigenschaft zugewiesen werden soll, und es gilt 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, dessen CLR-Typ Null darf, wird so konfiguriert, 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 darf nicht Null enthalten, werden so konfiguriert, wie erforderlich (int, decimal, boolusw..).Properties whose CLR type cannot contain null will be configured as required (int, decimal, bool, etc.).

Hinweis

Eine Eigenschaft, dessen 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 von Entity Framework benötigt immer 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; }
}