このトピックは数回ありますが、EFでこの問題を回避する方法を教えてください。警告エラー6002:テーブル/ビューにプライマリキーが定義されていません
マイ警告:
警告エラー6002:テーブル/ビュー 'ADContainersWithEnvironmentsView' は、定義された主キーを持っていません。キーが推測され、 の定義が読み取り専用テーブル/ビューとして作成されました。
基本的に私は自分のプロジェクトでEFでデータベースの最初のアプローチを使用しています。
私はビューを持っている:私はまた、図にマーク同上
AS
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(同上、-1)と私の見解ではPKを指定する必要があり、他のトピックでexplaindましたエンティティキーとしての私のIdは私のスクリーンショット
に私はすべての私の10個のビューを持っているこの警告を確認してください。 私の変更後、私はビジュアルスタジオを閉じ、PCを再起動したり、他のPCで試しても、警告が表示されます。
ありがとうございました。