没有[必需]的EF模型属性不为null

Gus*_*tav 3 c# entity-framework entity-framework-core .net-core asp.net-core-2.0

是否有可能让Entity框架从模型生成一个表,标记为非null的列而不使用[Required]模型属性上的注释?

原因:

对象被发布到api,我检查ModelState.IsValid控制器.该物业是应该生成的服务器端,而不是来自外部,但如果我有属性[Required]ModelState.IsValid是假的(在这种情况下,我回用BadRequest(ModelState);).

我可以告诉EF以其他方式使列不为空吗?

我想另一个解决方案是期望将另一个对象(某种DTO)发送到api然后进行映射.但是对于这个单独的属性,该对象看起来完全相同,这使得它看起来有点不必要,对吧?

Sal*_*ari 6

在您的类中使用Fluent APIIsRequired方法,DbContext如下所示:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<YourEntity>().Property(t => t.YourProperty).IsRequired();
    base.OnModelCreating(modelBuilder);
}
Run Code Online (Sandbox Code Playgroud)