基于此

documentation page中的注释,似乎已经取消了以声明方式执行此操作的支持.以机智:

A property whose CLR type cannot contain null cannot be configured as optional. The property will always be considered required by Entity Framework.

这是故意的,可以在GitHub上的项目设计讨论中看到,specifically:

That is, a property marked as nullable supports null values, while a property marked as non-nullable must never contain null values. It follows from this that marking a property which is of a non-nullable CLR type as allowing nulls will not be allowed. This is different from the EF6 behavior where this is allowed. [emphasis added]

结果是,在EF7中,NULL列严格意味着可以为空的映射属性.如果您的属性可以为空,则关联列必须为NULL,除非您使用IsRequired标记或配置它.

对OP编辑的回应

这很有意思,我最初没有看到关于IsRequired(bool)API的文档.我在0700年6月的一些论文中找到了一个讨论点,它说明这相当于EF6的IsOptional():

.IsOptional() – We’ll provide this functionality via calling Required(false)

.IsRequired() – Provide Required() with the same functionality

即使这是最初的意图,取消支持的设计决定可以追溯到10月份. (每次更新)尝试在非可空属性上设置IsRequired(false)会导致运行时错误,而不是完全删除.

虽然现在是多余的,但是在不破坏有效代码的情况下无法删除API:它没有使用单独的IsRequired(bool)和IsRequired()定义实现,而是使用单个IsRequired(bool required = true).如果它被删除并替换为无参数版本,那将是一个重大变化.

php isoptional,entity-framework – 实体框架7 Fluent API无法识别IsOptional()相关推荐

  1. Entity Framework 实体框架的形成之旅--实体数据模型 (EDM)的处理(4)

    在前面几篇关于Entity Framework 实体框架的介绍里面,已经逐步对整个框架进行了一步步的演化,以期达到统一.高效.可重用性等目的,本文继续探讨基于泛型的仓储模式实体框架方面的改进优化,使我 ...

  2. Entity Framework 实体框架的形成之旅--为基础类库接口增加单元测试,对基类接口进行正确性校验(10)...

    本篇介绍Entity Framework 实体框架的文章已经到了第十篇了,对实体框架的各个分层以及基类的封装管理,已经臻于完善,为了方便对基类接口的正确性校验,以及方便对以后完善或扩展接口进行回归测试 ...

  3. Entity Framework 实体框架的形成之旅--基于泛型的仓储模式的实体框架(1)

    很久没有写博客了,一些读者也经常问问一些问题,不过最近我确实也很忙,除了处理日常工作外,平常主要的时间也花在了继续研究微软的实体框架(EntityFramework)方面了.这个实体框架加入了很多特性 ...

  4. Entity Framework 实体框架的形成之旅--利用Unity对象依赖注入优化实体框架(2)

    在本系列的第一篇随笔<Entity Framework 实体框架的形成之旅--基于泛型的仓储模式的实体框架(1)>中介绍了Entity Framework 实体框架的一些基础知识,以及构建 ...

  5. Entity Framework 实体框架的形成之旅--实体框架的开发的几个经验总结

    在前阵子,我对实体框架进行了一定的研究,然后把整个学习的过程开了一个系列,以逐步深入的方式解读实体框架的相关技术,期间每每碰到一些新的问题需要潜入研究.本文继续前面的主题介绍,着重从整体性的来总结一下 ...

  6. Entity Framework 实体关系总结:one-to-one, one-to-many, many-to-many

    通过 Entiy Framework实践系列 文章,理了理 Entity Framework 的实体关系. 为什么要写文章来理清这些关系?"血"的教训啊,刚开始使用 Entity ...

  7. Entity Framework 实体关系总结(转)

    通过 Entiy Framework实践系列文章,理了理 Entity Framework 的实体关系. 为什么要写文章来理清这些关系?"血"的教训啊,刚开始使用 Entity F ...

  8. ADO.NET Entity Framework Beta2(五)/快速入门(实体框架)

    This quickstart illustrates a series of tasks that support the topics in Getting Started with the En ...

  9. ASP .NET MVC 之Entity Framework入门教程及源码

    本文主要的目的是 1. 说明Entity Framework Power Tools如何使用. 2. Entity Framework  快速门 实验环境: OS: Windows Server 20 ...

最新文章

  1. js date转string_JS之你到底是什么类型?
  2. myeclipse2014删除antlr-2.7.2.jar--解决struts和hibernate包冲突
  3. lzg_ad:FBWF配置详解
  4. 【转】[iOS] 关于 self = [super init];
  5. QQ 调查用户是否希望推 「已读」功能,如何评价「已读」功能?QQ是否要加这个功能?...
  6. zend studio mysql 配置_php 在Zend Framework中配置数据库参数
  7. django 1.8 官方文档翻译: 1-2-4 编写你的第一个Django应用,第4部分
  8. Spark编译报错:missing or invalid depency detected while loading class file RDDOperationScope.class
  9. Bailian4118 开餐馆【DP】
  10. Tomcat(Install)
  11. 【YOLO家族】【论文翻译】YOLO v1 Unified, Real-Time Object Detection
  12. 实用网站、软件、App分享
  13. 大学四年走来,这些网络工程师必备的模拟器我都给你整理好了
  14. SQL SERVER 不允许保存更改
  15. 华为手机照片 计算机,教你华为手机怎么传照片到电脑上去
  16. windows清理C盘
  17. 嵌入式开发<网络调试工具>
  18. qt.network.monitor: Could not get the INetworkConnection instance for the adapter GUID.QT关闭时程序异常结束
  19. 微信小程序、app集成微信支付
  20. 叶梓老师 数据分析与数据挖掘-培训提纲

热门文章

  1. linux mysql自动备份 和 数据恢复
  2. Pycharm无法导入包的问题 Unresolved reference
  3. SpringBoot b2b2c 多用户商城系统 (一)构建第一个SpringBoot工程
  4. Vue2.x中的父组件数据传递至子组件
  5. 【ANDROID游戏开发之六】在SURFACEVIEW中添加系统控件,并且相互交互数据!
  6. 有关JAVA中不同方法对String连接性能的总结
  7. windows mobile 开发 web service 未能建立与网络的连接、无法连接到远程服务器
  8. DIV+CSS—菜鸟分享学习心得!导航篇
  9. 企业ERP选型的两难困惑
  10. python线程的学习