6

Visual Studio のデータソース デザイナーで、カスタム クエリを維持しながら、テーブルとその関係/外部キー制約を更新する方法はありますか?

私が現在行っている方法は、テーブルを削除して再度追加することです。これにより、すべての関係が追加され、すべてのフィールドが更新されます。

また、フィールドのデータ型を変更した場合、データソース内のすべてのフィールドを自動的に更新する方法はありますか? テーブルを削除して再度追加することなく、もう一度。

この理由は、一部の TableAdapter にはかなりの数の複雑なクエリが関連付けられており、テーブルを削除すると、アダプターもすべてのクエリを含めて削除されるためです。

Visual Studio 2008 を使用し、MySQL データベースに接続しています。

アイデアはありますか?

4

5 に答える 5

7

各テーブルにはデフォルトのクエリがあります (一番上にチェックが付いているもの)。テーブルをデータセットにドラッグしてクエリを作成すると、テーブルのスキーマ化に使用する SQL ステートメントが作成されます。そのクエリは単純にしてください。実際にはコードで使用しない可能性があります。そのクエリをいつでも編集して、テーブル スキーマを更新できます。

デフォルトのクエリを開くたびに、データソースに接続され、以前には存在しなかった新しい列を選択できるようになります。既存の列を更新する場合は、クエリを開く前にテーブルからすべての列を削除してください。クエリを保存すると、更新された列が追加されます。

接続文字列に列情報を表示する権限があることを確認してください。

于 2010-05-07T05:53:27.567 に答える
2

これを MSFT に報告しましたが、応答がありません。デザイナーは、最も単純な SQL ステートメントで常にハングアップします。私が見つけたのは、私にとってうまくいくことです。

  1. デザイナーに新しいテーブルを追加します。
  2. それを保存。
  3. Visual Studio 2010 をシャットダウンします。
  4. VS 2010 を起動します。
  5. さらに 1 つまたは 2 つの SQL ステートメントを追加し、ステップ 2 から 4 を再度実行します。

これは首の痛みですが、Visual Studio データセット デザイナーが停止する唯一の方法です。私は VS 2008 で同じ問題を経験しました。Oracle に接続していますが、まだ VS をシャットダウンしてバックアップを開始していますが、これはナンセンスです。

于 2011-01-04T14:34:45.163 に答える
0

フィールドとリレーションシップを追加/変更/削除できますが、NHibernateを調べることをお勧めします。

于 2010-04-22T15:06:12.673 に答える
0
  1. DataSet 名を右クリックし、[Dataset Properties] を選択します
  2. [クエリ] ボックスの下に、[フィールドを更新] ボタンが表示されます。
  3. クエリ デザイナーをクリックすると、新しいフィールドがテーブル リストに表示されます。
于 2015-09-03T14:59:35.887 に答える
0

ソリューション エクスプローラーでデータセットを右クリックし、[カスタム ツールの実行] を選択して、テーブルとそのクエリ/リレーションシップを更新できるはずです。

そのコマンドがない場合は、データセット プロパティの [カスタム ツール] フィールドに "MSDataSetGenerator" があることを確認してください。

于 2010-12-03T15:47:19.390 に答える