必須およびオプションのプロパティ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; }
}