9

Microsoft SQL Server Management Studio でデータベース ビューの主キーと外部キーを定義することはできますか? どのように?

ADO.NET Entity Data Model を作成して、変更できない 4 つの古い形式の悪いデータベース テーブルから読み取るようにしています。必要なデータだけのビューを作成しました。

4 つのビューは、1 つの多対多の関係を持つ単純な 3 つのエンティティ EDMX にマップする必要があります。

データ モデルの作成時に次のエラーが発生します。

テーブル/ビュー '...' には主キーが定義されておらず、有効な主キーを推測できませんでした。このテーブル/ビューは除外されました。エンティティを使用するには、スキーマを確認し、正しいキーを追加してコメントを解除する必要があります。

2 つのビューの主キーを正しく推測しました。しかし、残りの 2 つはそうしませんでした。

私の問題ビューの 1 つは集計関数を使用します。

SELECT MAX(...) ... GROUP BY ...

もう 1 つは、2 つの外部キーの複合主キーを持つ必要があります。

4

3 に答える 3

2

NOT NULL次のようにしてビューにインデックス列を作成することで、ビューを変更できます。

ALTER VIEW [dbo].[ViewName]
AS
    SELECT  ISNULL(CAST(CASE ROW_NUMBER() OVER ( ORDER BY columnNames )
                          WHEN ROW_NUMBER() OVER ( ORDER BY columnNames )
                          THEN ROW_NUMBER() OVER ( ORDER BY columnNames )
                          ELSE 0
                        END AS INT), 0) AS ID 
于 2011-08-11T15:13:36.800 に答える
-1

実際には、JOIN を使用するビューを作成し、そこからモデルにエンティティを生成できます。

于 2010-12-10T14:52:53.167 に答える