Microsoft.EntityFrameworkCore dont have method IsOptional() for PropertyBuilder

I try transfer my solution from .Net Framowork to .Net Core.When I did mapping and I dint found method IsOptional() for PropertyBuilder:

.Net Framowork:

    public class PictureMap : EntityTypeConfiguration<PictureExt>
{
    public PictureMap()
    {
        this.ToTable("Picture");
        this.HasKey(p => p.Id);
        this.Property(p => p.SeoFilename).HasMaxLength(300);
        this.Property(p => p.ExternalUrl).IsOptional();
    }
}

and its work , but use EntityFrameworkCore:look in image

where I might found IsOptional()?

Upvotes: 1

Views: 1463

Answers (2)

John White
John White

Reputation: 715

You can achieve the same effect with IsRequired(false). This will override annotations like [Required] so be careful. On another thread, it was pointed out that annotations that affect EF models or make no sense [Display...] should not be part of the EF model. Move them to a ViewModel or DTO object.

Upvotes: 2

agua from mars
agua from mars

Reputation: 17444

There is not IsOptional in EntityFrameworkCore but there is IsRequired to do the oposite. By default field are nullable if the C# type is nullable.

Upvotes: 2

Related Questions