0

現在の XSD は次のとおりです。

<xs:element name="Country">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="code" type="xs:string" />
            <xs:element name="name" type="xs:string" />
            <xs:element name="diallingcode" type="xs:int" />
            <xs:element name="displayOrder" type="xs:nonNegativeInteger" />
        </xs:sequence>
    </xs:complexType>
    <xs:key name="countryKey1">
        <xs:selector xpath="." />
        <xs:field xpath="mstns:code" />
    </xs:key>
</xs:element>

生成されたクラスは次のとおりです。

[global::System.Serializable()]
    [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
    public partial class CountryDataTable : global::System.Data.TypedTableBase<CountryRow> {

XSD を変更するとすぐに、新しいフィールドを追加します。生成されたクラスは次のように変更されます。

[global::System.Serializable()]
    [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
    public partial class CountryDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {

この最後のコードは、データセットを使用している一部の Linq クエリを中断します。

問題が何であるかを知っている人はいますか?

4

1 に答える 1

1

コードの生成はまだ適切に動作していません (既存の XSD を更新する場合)。問題を解決するために私が見つけた方法は、XSD を変更するたびに Dataset.Designer.cs ファイルを削除する (または単に名前を変更する) ことです。ファイルが最初から生成されている場合、コードは適切に生成されます。

于 2011-03-08T11:46:18.790 に答える