代码之家  ›  专栏  ›  技术社区  ›  Fraze

可选属性,但需要输入

  •  -1
  • Fraze  · 技术社区  · 7 年前

    在我的特殊情况下,我从遗留应用程序导入数据。在新的应用程序中,我有一个模型的属性( GradYear 是 required

    使用EF Core和Razor页面,有没有办法 毕业年

    1 回复  |  直到 7 年前
        1
  •  2
  •   Mauricio Atanache    7 年前

    我可以这样想:

    1. 使用两个不同的viewmodel,一个用于从具有非必需字段的旧版导入,另一个用于具有必需属性的内部新应用程序使用,您只需在非必需的viewmodel中确保在映射到DBContext实体时指定默认值。

    另一种方法(未经测试)是根据需要装饰您的财产,但覆盖模型创建,如下所示:

    public class YourAppContext : DbContext
    {
       protected override void OnModelCreating(DbModelBuilder modelBuilder)
       {
          ...
          modelBuilder.Entity<YourDbContextEntity>.Property(p => p.GradYear).IsOptional();
          ...
       }
    
    }
    
    推荐文章