2015-11-02 13 views
5

このトピックは数回ありますが、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は私のスクリーンショット enter image description here

に私はすべての私の10個のビューを持っているこの警告を確認してください。 私の変更後、私はビジュアルスタジオを閉じ、PCを再起動したり、他のPCで試しても、警告が表示されます。

ありがとうございました。

答えて

0

ビューには主キーがありませんが、表には主キーがありませんので、警告が表示されます。ビューに何も挿入していない可能性があるので、警告を無視して、クエリを実行するだけでビューを使用できます。

関連する問題