問題タブ [datatableadapters]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - データ テーブル アダプターからコード ファイルを生成する
私は C# の古い ASP.NET に取り組んでおり、
現在4.7.2web site application
で実行されています。
すべての古いテーブルには、それを操作するクラスとビューがあります。
アダプターには通常の操作があります。単独でこの構造のすべてではないにしても、いくつかを生成する方法はありますか?
もう 1 つのオプションは、既存のクラス ( など) をコピーして編集することですが、すべてのクラスが同じように見えるため、それらを生成できるように感じます。これに変更が必要な場合は、ツールを使用する方が簡単だと思います。これは、失敗する可能性が低い、および/またはいくつかの場所で変更を忘れる可能性があるためです。
これは何WebControlling.xsd
tables
table adapters
.App_Code
- BLL
- - Foo.cs
- DAL
- - WebControlling.xsd
.Portal
- Foo
- - Foos.aspx
- - FooAdd.aspx
- - FooEdit.aspx
Fill
GetData
.xsd
Foo.cs
Foo.cs
次のようになります。
私には生成されたようです。
編集:
この質問には、からクラスを生成する興味深い洞察があり.xsd
ます。私の質問は次の理由で異なります。
- ビューも生成する方法を探しています
.aspx
- ファイル全体ではなく、追加のクラスを1つだけ生成しようとしています
asp.net - ASP.NET Web フォーム データ コントロールを使用して、1 対多の関係からデータを表示する
ProjectsOverall
からなる関係がありProjects
ます。ProjectOverall
には多数が含まれProjects
、 aProject
は 1 つの に正確に割り当てられProjectOverall
ます。
詳細ビューを持っているものはProjectOverall
すべて表示したいですProjects
。これにより、 my に2つのオプションが残りますWebControlling.xsd
:
- アダプターの ID を参照するもの
ProjectsOverall
をすべて見つけるようにアダプターを構成します。Projects
Project
指定された を持つすべてのエントリを検索するようにアダプターを構成しますProjectOverallID
。
両方を試しProjectOverall
てみたところ、次の問題のいずれかに遭遇しまし
た。これにより、エラーが発生します。ID
ProjectOverall
制約を有効にできませんでした。1 つ以上の行に、NULL 以外、一意、または外部キーの制約に違反する値が含まれています
参照:一般的なエラーを解決する方法、強制的に DataSet に制約を強制しない
両方のオプションが機能しませんでした。
SQL(完全にやり過ぎですが、エントリが1つしか返されない場合に機能します):
詳細ビュー:
DataSource
のタイプをに切り替えるTypeName="Projects
と、ビューに存在する ID にアクセスする方法がわからないため、2 番目のオプションは機能しません。
ビューには のすべてのプロパティが表示され、すべてのProjects`ProjectOverall
が表示されます。s
これらのことのいずれかを行うためのクリーンなソリューションはありますか?