c# - Entity Framework : Set nullable to false, 但类型仍可为空

标签 c# entity-framework-4 visual-studio-2012

这个问题与在 Visual Studio 2012 中创建的新类库项目有关。

我已将 SQL Server View 添加到我的 Entity Framework 模型中。

PromisedDate 列的属性中,我已将 Nullable 从 (None) 更改为 False,因为永远不会有空值返回此列。我已经用 select 语句仔细检查过没有空值。

Screenshot of edmx showing nullable set to false

但是,即使在保存之后,关闭 Visual Studio 中所有打开的选项卡并完全清理和重建解决方案,PromisedDate 仍然是一个 DateTime? 并且我必须在代码中继续使用 .Value 来获取它的值。

真令人沮丧,我做错了什么?!

这是生成的 .CS 文件的屏幕截图:

Screenshot of generated class showing still nullable

最佳答案

您应该执行以下步骤。

1) 保存设计器文件并从设计器生成数据库
2) 单击上下文文件和代码生成文件(T4),然后单击运行自定义工具。
3)确保再次保存文件,生成数据库后会出现*。

关于c# - Entity Framework : Set nullable to false, 但类型仍可为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13070683/

相关文章:

c# - 使用 HTTPS (SSL) 分发带有嵌入式 (OWIN) 网络服务器的应用程序

C# WCF 服务在重新连接后重新发送数据?这是什么属性?

linq - Linq 的奇怪行为

entity-framework - 没有主外键关系的 Entity Framework 代码优先内部连接

c++ - 立即执行 .then

c# - 检查用户输入是否以两种可能性之一开始

c# - 我应该对大文件使用 XML 序列化吗

c# - 如何将 where 子句附加到 Entity Framework ObjectSet

c++ - 生成MITK教程错误

asp.net-mvc - 我的 MVC 4 应用程序无法在 Azure 上加载。我如何找出问题所在?