尝试向edmx文件添加新视图不会创建

时间:2017-10-03 14:29:36

标签: c# asp.net-mvc entity-framework ef-database-first

我创建了一个ADO.NET实体数据模型,现在我想为它添加一个新视图。我找到了这个source并完成了这些步骤,但是新视图没有添加到模型中。以下是我遵循的步骤:

1)右键单击我的.edmx文件并选择Open With
2)选择ADO.NET实体数据模型设计器
3)右键单击数据模型设计器(在“添加”选项卡中),然后选择“从数据库更新模型” 4)检查我的新视图并点击完成
5)保存模型设计并对运行的脚本

说好

之后,我的新视图不在模型设计器中,或者我的解决方案资源管理器中是否有新类。我错过了什么?还有什么人需要看到帮助我诊断这个?

1 个答案:

答案 0 :(得分:1)

如果您没有定义主键,

Entity Framework DB通常会忽略您的视图。

如果您希望使其正常工作,请在数据库中,在您的某个字段上使用ISNULL()函数和/或唯一约束。确保此字段是唯一的。

如果需要,请参阅此问题:

Views,Entity,Cannot deduce a primary key

对于2个字段唯一的组合,一种简单但不是很干净的方法是在视图中添加另一列,包含两个字段的串联并将它们放在isnull()中。假设它是两个nvarchar(5):

select isnull(columnA + columnB, '1234567890'), columnA, columnB, ...