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 回答