2

アプリケーション ユーザー (MS SQL Server、MS Access、Oracle、MySQL など) から選択されたデータベースのテーブル間の関係を視覚的に表示できるWPFアプリケーションをC#で作成したいと考えています。関係の編集を許可します。

たとえば、Microsoft Access 2007 では、少なくとも 2 つのテーブルがあり、[データベース ツール] タブをクリックしてから [リレーションシップ] をクリックすることで、このようなことを行うことができます。もう 1 つの例は、Microsoft SQL Server でデータベースのダイアグラムを作成する場合です。

最初のステップは、データ アクセス レイヤーを作成して、さまざまな種類のデータベース (プロバイダーの種類によって異なります) への接続を許可することです。

トリックを実行できるある種のビューアーが .NET (またはおそらく無料のサードパーティ ライブラリ) に既に存在するかどうかはわかりません。1つ知っていますか?そうでない場合、WPFで手動で行うための大きな行は何ですか?

助けと提案をありがとう!

4

5 に答える 5

0

ここにはかなりの数の「ビッグチケット」アイテムがありますが、コア機能から始めます。

DBタスク:テーブルの列挙各テーブルの関係を列挙します。処理するDBタイプごとに上記の機能を抽象化します。

UIタスク:テーブル(単純な同じサイズのボックス)をレイアウトして、関係ごとに線を描画しますドラッグアンドドロップを実装します-ドロップ時に関係線を再描画します。

さて、これは適切な曲線を処理せず、それらの線を適切にルーティングします。また、テーブルの列も処理しないため、UIのすべてのテーブルの「ボックス」は同じサイズであり、レイアウトが簡素化されます。

ただし、このレベルの機能は、概念実証としての優れた目標です。

これがクライアント向けである場合、専門的な立場で、それに時間を無駄にしないでください。

しかし、それが学習体験のためであるならば、それからそれのために行ってください!このようなプロジェクトから得られる素晴らしいナゲットはたくさんあり、プログラミングのキャリアで何度も使用します。

お役に立てれば!

于 2010-08-24T11:37:25.207 に答える
0

外部キーの関係を読み取ることは簡単ではないかもしれません。私のアプリケーションには次のコメントが含まれています。

//get the list of all foreign keys
//unfortunately GetSchema doesn't return the column definitions
//http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=741870&SiteID=1 suggests getting this
//information from the the sys.foreign_keys catalog view joined with sys.objects (for SQL 2005)
//or from the sysforeignkeys and sysobjects tables in SQL 2000).
于 2010-08-24T11:44:54.783 に答える
0

おそらく、MS Access 2007 の MS Office PIA を見て、あなたが話しているビューアーを見つけることができるかどうかを確認してください...

于 2010-08-23T22:22:33.200 に答える
0

無料ではありませんが、WPF のダイアグラム作成には、常に Mindscape のダイアグラム製品であるWPF Flow Diagramsを使用します。製品は素晴らしく、サポートは素晴らしいです。

于 2010-10-01T21:12:07.103 に答える
-1

Visual Studioに組み込まれているこの種のビューアがあり、[ツール]-> [データベースに接続]に移動して、すべてをデータベースに接続します。次に、サーバーエクスプローラーでデータベースを表示し、テーブルを開いてツールバーのさまざまなボタンを見ると、灰色の背景に小さなウィンドウとしてテーブルが表示されるボタンがあります。そのウィンドウを開いたら、他のテーブルを灰色の領域にドラッグアンドドロップすると、そこにあるすべての関係が表示されます。

于 2010-08-23T21:53:29.993 に答える