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

原因:

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

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

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

最佳答案
在DbContext类中使用 Fluent API和 IsRequired方法,如下所示:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<YourEntity>().Property(t => t.YourProperty).IsRequired();
    base.OnModelCreating(modelBuilder);
}
点击查看更多相关文章

转载注明原文:c# – 没有[必需]的EF模型属性不为null - 乐贴网