我创建了一个ADO.NET实体数据模型,现在我想为它添加一个新视图。我找到了这个source并完成了这些步骤,但是新视图没有添加到模型中。以下是我遵循的步骤:
1)右键单击我的.edmx文件并选择Open With
2)选择ADO.NET实体数据模型设计器
3)右键单击数据模型设计器(在“添加”选项卡中),然后选择“从数据库更新模型”
4)检查我的新视图并点击完成
5)保存模型设计并对运行的脚本
之后,我的新视图不在模型设计器中,或者我的解决方案资源管理器中是否有新类。我错过了什么?还有什么人需要看到帮助我诊断这个?
答案 0 :(得分:1)
如果您没有定义主键,
Entity Framework DB通常会忽略您的视图。
如果您希望使其正常工作,请在数据库中,在您的某个字段上使用ISNULL()
函数和/或唯一约束。确保此字段是唯一的。
如果需要,请参阅此问题:
Views,Entity,Cannot deduce a primary key
对于2个字段唯一的组合,一种简单但不是很干净的方法是在视图中添加另一列,包含两个字段的串联并将它们放在isnull()中。假设它是两个nvarchar(5):
select isnull(columnA + columnB, '1234567890'), columnA, columnB, ...