0

初めて Linq-to-SQL DBML を作成しました。すべてのテーブルをデザイナーにドラッグ アンド ドロップしました。テーブルはすべて、designer.cs ファイルに表示されます。Global.asax には、ScaffoldAllTables = true オプションを指定した model.RegisterContext() もあります。ルートも設定されています。

Scaffolding ページを表示できますが、少なくとも 1 つのテーブルが欠落しており、表示しようとしています。この見つからないテーブルには、それを参照する子テーブルとの関係があります。子テーブルが表示されます。子テーブルのデータを表示すると、見つからない/親テーブルを参照する列に、「名前」ではなく、数値の PK int 値が表示されます。したがって、「車」を表示する代わりに 1 を表示し、「飛行機」を表示する代わりに 2 を表示する、などです。

DB には、欠落しているテーブルと同じタイプの構造を持つ別のテーブルがあり、スキャフォールディングされたテーブルに正しく表示されています。

この欠落しているテーブルについて、ScaffoldTable 属性を明示的に追加しようとしましたが、役に立ちませんでした。

このようなテーブルがスキャフォールディング テーブルのリストに表示されない原因を知っている人はいますか? どうもありがとう。

4

2 に答える 2

1

私はそれを働かせました。結局、新しい Dynamic Data Web サイトを作成し、ゼロから始めました。その後、すべてのテーブルが表示されました。私が問題を抱えていたプロジェクトでは、これは実際には他の誰かが作成した既存のプロジェクトで、私が変更しようとしていたものでした。私はそのプロジェクトに戻り、できる限り削除して、テーブルが表示されない原因を確認しました。しかし、削除しすぎてプロジェクトがコンパイルを停止したため、これはうまくいきませんでした。それを理解する時間は本当にありません。新しいプロジェクトは機能しています。

興味深いことに、古いプロジェクトでは、DBML からすべてのテーブルを削除し、そのうちの 1 つだけを追加し直した場合、15 ほどのテーブルのまったく同じセットがスキャフォールドに表示されました。そのため、DBML に追加するものはすべて完全に無視されたようです。私がやっていることよりも優先されていたのは、ソースを持っていないDLLだったのかもしれません。

于 2010-05-27T23:10:44.160 に答える
0

テーブルの名前は何ですか?これが問題になる可能性があるため、つまり、Typeのような予約語ですか?

于 2010-05-27T20:13:31.500 に答える