【问题标题】:Change the default behaviour of NullValue in a DataSet更改 DataSet 中 NullValue 的默认行为
【发布时间】:2012-06-30 05:33:20
【问题描述】:

我已使用 .Net MySQL 连接器将 MySQL 架构的数据集导入 Visual Studio。

Visual Studio 已为我生成了一个 *.xsd 文件,其中包含表的直观表示,以及我架构中这些表中的字段。

然后我使用 LINQ 对这些表运行查询。

默认情况下,每个表中每个字段的NullValue 属性都设置为(抛出异常)。这在实践中意味着如果我将条件应用于查询中包含空值的任何列,当我尝试枚举结果时会引发异常,如下所示:

解决此问题的简单方法是将特定列的 NullValue 属性更改为 (Null) 或 (Empty),但我在很多表中有很多列,并且一次更改所有这些列是一种痛苦。我也不能使用 Shift 键来选择所有列,因为 (Null) 和 (Empty) 值仅适用于引用类型和可为空的值类型,因此,例如,如果我的选择包含单个整数,则没有属性将得到更新。

Visual Studio 中是否有一个选项可以全面更改 DataTable 中列的 NullValue 属性的默认行为?

谢谢

【问题讨论】:

    标签: visual-studio-2010 linq dataset


    【解决方案1】:
    1. 在 Solution Explorer 中,右键单击您的 .xsd 文件
    2. 选择“打开方式...”
    3. 选择“XML(文本)编辑器”
    4. 找到一个您已经设置为 "(Empty)" 或任何您想要作为“默认”值的字段并查看 msprop:nullValue 的语法> 如msprop:nullValue="_empty"
    5. 使用文本 Search-and-Replace(默认为 CTRL+H)修改文件中其余可为空的字段 XML 标记。一种方法是找到一个标准的列标签并添加到它。例如,找到msprop:Generator_ColumnPropNameInTable 并将其替换为msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable
    6. 完成替换后,确保每列只有一个 msprop:nullValue 属性实例,否则会出现 DataSet 语法错误
    7. 保存文件并关闭它
    8. 双击您的 .xsd 使其在 XSD 设计器中打开,然后保存它以确保您没有语法错误并且 Designer.cs 文件已更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 1970-01-01
      相关资源
      最近更新 更多