代码之家  ›  专栏  ›  技术社区  ›  Russell Steen

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

  •  10
  • Russell Steen  · 技术社区  · 14 年前

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

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

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

    该视图很复杂,我不希望将其转换为LINQ查询。如何添加主键以使实体支持视图?

    是否有一种非黑客方法可以将这样的视图添加到EDMX中?

    2 回复  |  直到 11 年前
        1
  •  23
  •   Pent Ploompuu    14 年前

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

    CREATE VIEW Colors WITH SCHEMABINDING
    AS SELECT Color='yellow', ColorCount=100
    GO
    CREATE UNIQUE CLUSTERED INDEX PK_Colors ON Colors (Color)
    
        2
  •  1
  •   Adriaan Stander    14 年前

    多语句表值函数 .

    CREATE FUNCTION (Transact-SQL)