Asp.net core Microsoft.EntityFrameworkCore没有用于PropertyBuilder的方法IsOptional()
我尝试将我的解决方案从.Net Framowork转移到.Net Core。当我进行映射并找到PropertyBuilder的方法IsOptional()时: .Net Framowork:Asp.net core Microsoft.EntityFrameworkCore没有用于PropertyBuilder的方法IsOptional(),asp.net-core,mapping,entity-framework-core,Asp.net Core,Mapping,Entity Framework Core,我尝试将我的解决方案从.Net Framowork转移到.Net Core。当我进行映射并找到PropertyBuilder的方法IsOptional()时: .Net Framowork: public class PictureMap : EntityTypeConfiguration<PictureExt> { public PictureMap() { this.ToTable("Picture"); this.HasK
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();
}
}
公共类图片映射:EntityTypeConfiguration
{
公共图片地图()
{
这是一张可折叠的(“图片”);
this.HasKey(p=>p.Id);
this.Property(p=>p.SeoFilename).HasMaxLength(300);
this.Property(p=>p.ExternalUrl).iso可选();
}
}
和它的工作,但使用EntityFrameworkCore:
我可能在哪里找到了IsOptional()?EntityFrameworkCore中没有
IsOptional
,但需要来执行此操作。默认情况下,如果C#类型可为空,则字段可为空。EntityFrameworkCore中没有IsOptional
,但需要来执行此操作。默认情况下,如果C#type可为null,则字段可为null。您可以使用IsRequired(false)实现相同的效果。这将覆盖像[Required]这样的注释,所以要小心。在另一个线程中,有人指出,影响EF模型或毫无意义的[Display…]注释不应成为EF模型的一部分。将它们移动到ViewModel或DTO对象。使用IsRequired(false)可以实现相同的效果。这将覆盖像[Required]这样的注释,所以要小心。在另一个线程中,有人指出,影响EF模型或毫无意义的[Display…]注释不应成为EF模型的一部分。将它们移动到ViewModel或DTO对象