繁体   English   中英

如何将主键添加到sql视图? - 或者将视图链接到LINQ-2-Entities的替代方法

[英]How do you add a primary key to a sql view? - Or alternate way to link views to LINQ-2-Entities

我正在为我的实体对象模型添加一个非常简单的视图(或尝试)。 该数据库位于SQL Server 2008中。我使用C#在.Net 3.5(SP1)上。

视图有两个字段:color和colorcount,分别是Varchar(50)和count(*)。

当我从数据库更新模型,并选择要添加的视图时,它运行(它更新表,添加字段没问题)但不添加视图。 不显示错误,警告或消息。

当我打开.edmx文件时,我看到它显示Warning 6013: No primary key defined.

视图很复杂,我宁愿不将它翻译成LINQ查询。 如何添加主键以便实体支持视图?

是否有一种非常黑客的方式将这样的视图添加到EDMX?

使用schemabinding创建视图schemabinding您可以向其添加主键:

CREATE VIEW Colors WITH SCHEMABINDING
AS SELECT Color='yellow', ColorCount=100
GO
CREATE UNIQUE CLUSTERED INDEX PK_Colors ON Colors (Color)

我不知道这是否会对您有所帮助,但您可以使用多语句表值函数创建主键。

我找不到任何参考视图的主键,但我知道它可以用表函数完成。

创建功能(Transact-SQL)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM