Microsoft.EntityFrameworkCore dont have method IsOptional() for PropertyBuilder

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()?




2 Answers
2



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.


IsOptional


IsRequired



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.



Thanks for contributing an answer to Stack Overflow!



But avoid



To learn more, see our tips on writing great answers.



Required, but never shown



Required, but never shown




By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.