实体框架:将nullable设置为false,但type仍然可以为空

时间:2012-10-25 14:20:34

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

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

我已将SQL Server视图添加到我的实体框架模型中。

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

Screenshot of edmx showing nullable set to false

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

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

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

Screenshot of generated class showing still nullable

1 个答案:

答案 0 :(得分:0)

您应该执行以下步骤。

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