0

少なくとも、私にはそう見えます。Sql Server CE 4.0 と Visual Studio 2010 を使用しています。Sql Server CE を使用したのはこれが初めてです。

たとえば、2 つのテーブルがあります。1 つはテンプレートと呼ばれます。

TemplateID (int, primary key, identity)
TemplateName (nvarchar)

もう 1 つは製品と呼ばれます。

ProductID (int, primary key, identity)
TemplateID (int, foreign key relationship with Templates)
ProductName (nvarchar)

これらのテーブルを作成した後、Products の TemplateID フィールドと Templates の TemplateID フィールドのテーブル間に外部キー リレーションシップを設定しようとしました。

リレーションシップを設定した後、サーバー エクスプローラーで Products テーブルを見ると、TemplateID が Products の主キーとしてフラグ付けされていることがわかります。これは、そのテーブルの主キーであってはなりません!

これは単に CE テーブルの表示がおかしいのでしょうか? 外部キーが他のテーブルの主キーであることを意味しますか? 製品テーブルの TemplateID 列をクリックし、[プロパティ] ウィンドウで ID タグを展開すると、"テーブル" がテンプレートではなく製品であることが示されるため、そうではないようです。

誰かがこの奇妙さに光を当てることができれば、私は本当に感謝しています.

4

1 に答える 1

0

一部のテストでは、Visual Studio での表示にもかかわらず、外部キーが主キーの一部として含まれていないことが確認されました。

つまり、Visual Studio サーバー エクスプローラーでテーブルのフィールドを表示するのは、不器用で紛らわしい方法にすぎないようです。

うん。もうManagement Studioが恋しい...

于 2012-05-25T20:49:20.427 に答える