【发布时间】:2016-02-02 03:50:31
【问题描述】:
这个话题在这里多次,但没有答案让我选择如何在 EF 中避免这个问题。
我的警告:
警告错误 6002:表/视图“ADContainersWithEnvironmentsView” 没有定义主键。密钥已被推断出来,并且 定义被创建为只读表/视图。
基本上我在我的项目中使用数据库优先方法和 EF。
我有意见:
CREATE VIEW [dbo].ADContainersWithEnvironmentsView
AS
WITH ADContainerWithEnvironments(Id, LinkedEnvironmentId)
AS
(
SELECT adc.Id, adc.LinkedEnvironmentId
FROM ADContainer AS adc
WHERE ParentAdContainerId IS NULL
UNION ALL
SELECT subAdc.Id, parentAdc.LinkedEnvironmentId
FROM ADContainer AS subAdc
INNER JOIN ADContainerWithEnvironments parentAdc
ON subAdc.ParentAdContainerId = parentAdc.ID
)
SELECT ISNULL(Id,-1) AS Id, LinkedEnvironmentId FROM ADContainerWithEnvironments
正如在其他主题中解释的那样,我需要在我的视图中使用 ISNULL(Id,-1) AS Id 指定 PK
我对所有 10 次浏览都有此警告。 更改后,我关闭了我的视觉工作室,甚至重新启动电脑,或在其他电脑上尝试:)但警告仍然存在。
感谢您的帮助。
【问题讨论】:
标签: sql entity-framework tsql entity-framework-4