2

クライアントのxmlファイルから生成されたいくつかのデータセットを含むクラスライブラリを作成しています。

サンプルのxmlファイルをVStudioにドラッグして.xsdファイルを作成し、それらをプロジェクトに追加してツールをMSDataSetGeneratorに設定すると、(最初のビルドエラーが発生した後)生成されたすべてのクラスがNewDataSetと呼ばれることがわかりました。xsdファイルのプロパティダイアログでツールの名前空間を設定することで、ビルドエラーを回避します。ただし、「NewDataSet」があいまいになることなく「using」を使用することはできないため、複数のデータセットを消費するアプリケーションコードは見苦しくなります。また、クラス名「NewDataSet」はあまり役に立ちません。

生成されたクラスの名前をオーバーライド/影響する方法はありますか?

4

3 に答える 3

7

私はこれを見て、次のように解決しました:

これをスキーマタグに追加します..." xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"

したがって、たとえば、xsdの最初の2行は次のようになります。

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

xsdは、すべてを要素でラップしている可能性があります。その名前は、クラス名を意図しているものです...したがって、次のようにします。

<xs:element name="YOUR_CLASSNAME" msdata:IsDataSet="true">

それは私がそれを機能させるために大まかにしたことです。

于 2012-10-16T14:49:11.487 に答える
3

id要素の属性を設定することにより、生成クラスの名前を変更できますschema

ここに画像の説明を入力してください

于 2017-05-09T13:12:32.853 に答える
1

VS 2019

より安全なバリアントは、VSによって生成されたクラス名を変更することです。対応するXSDファイルを開きName、スキームのプロパティ(デフォルトではNewDataSet)を変更します。また、一般的なテキストエディタで変更することもできますが、ファイル内のすべてのエントリ「NewDataSet」を見つける必要があります(複数あります)。

于 2019-12-05T20:02:08.360 に答える