3

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

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

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

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

例外

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

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

谢谢

4

1 回答 1

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