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

Rus*_*een 10 .net t-sql sql-server linq-to-entities

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

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

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

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

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

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

Pen*_*puu 23

使用后创建视图后,可以为其schemabinding添加主键:

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