開発環境 Visual Studio201/C#
お世話になります。
現在、Xmlスキーマ(xsd)ファイルをプロジェクトにドラッグ&ドロップし、自動的に作成されたDataSetクラスを使用しています。
このXmlスキーマはRDB風のごくシンプルな構造です。
派生されたDataSetクラス(ここでは仮にMyDataSetとします)では、
・MyDataSet.Tables["MyTable"]
・MyDataSet.MyTable
と、どちらでもアクセス可能な事を確認しております。
両者は参照の方法が異なるでけで同じテーブルが取得できるのだと認識しており、派生クラスでは後者のようなアクセスができて便利だな~と思っていました。
そこに、ReadXml()でXmlファイルを読ませてみました。このXmlファイルは、前述のXmlスキーマによる妥当性チェックを行って妥当だと判断されたものです。
実際、MyDataSet.Tables["MyTable"].Rows.Countで確認すると件数が取得でき、行データの中身も期待通り読み込まれているのが確認できました。
しかし、MyDataSet.MyTable.Rows.Countを確認すると件数が0になっており、からっぽのようです。
MyDataSet.Tables["MyTable"]とMyDataSet.MyTableは違うものなのでしょうか?
派生クラスのソースをざっと眺めると違うもののように思えてきたのですが、ReadXml()で読み込んだデータが派生クラスのプロパティ(この場合はMyTable)で直接参照できないなら、何のためにスキーマに対応したプロパティが生成されるのだろう、と疑問に思っております。
お分かりの方がおられましたら、よろしくお願いします。