必須およびオプションのプロパティRequired and Optional Properties

プロパティを含めるには有効である場合は省略可能と見なされますnullです。A property is considered optional if it is valid for it to contain null. 場合null必須プロパティであると見なされますし、プロパティに割り当てられるに有効な値ではありません。If null is not a valid value to be assigned to a property then it is considered to be a required property.

規則Conventions

規則では、プロパティの CLR 型が null を含めることができます、構成するオプションとして (stringint?byte[], などです。)。By convention, a property whose CLR type can contain null will be configured as optional (string, int?, byte[], etc.). CLR 型を持つは null を含めることはできませんのプロパティは構成されている必要に応じて (intdecimalbool, などです。)。Properties whose CLR type cannot contain null will be configured as required (int, decimal, bool, etc.).

注意

CLR 型を null に含めることはできません、プロパティは、省略可能として構成できません。A property whose CLR type cannot contain null cannot be configured as optional. 常に Entity Framework によって必要なプロパティが考慮されます。The property will always be considered required by Entity Framework.

データの注釈Data Annotations

データ注釈を使用して、プロパティが必要であることを示すことができます。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

プロパティが必要であることを示す Fluent API を使用することができます。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; }
}