如何告诉Entity Framework视图中的列是否可为空?

时间:2010-05-15 14:44:42

标签: .net entity-framework

我有一个可以为空的Int列的视图(我们称之为StackOverflowCount)。从数据库生成EF模型时,EF设计器不会将其识别为可为空,并将该列创建为Int。

我遇到的问题是,在EF设计器上,我已将列设置为Nullable,然后出现以下错误,导致编译失败;

Error 3031: Problem in mapping fragments starting at line 2327:
Non-nullable column MyView.StackOverflowCount in table MyView
is mapped to a nullable entity property.

我可以通过在XML模式下打开.edmx文件并手动编辑SQL列定义来解决这个问题,但是没有办法使用设计器执行此操作,并且下次从模型中刷新时会覆盖它DB。

这是'按设计'还是一个滑入EF 4.0的例子?我在VS 2010下使用.Net 4.0和EF 4.0。

2 个答案:

答案 0 :(得分:1)

EF具有很多设计师无法提供的功能。

这不是“按设计”,而是可能是他们没时间了。

VS2010中的EF有一些改进,请参阅http://msdn.microsoft.com/en-us/data/ee720194.aspx

答案 1 :(得分:0)

在模型查看器中选择实体中的列,转到“属性”并将Nullable设置为true。