更改DataSet中NullValue的默认行为

时间:2012-06-28 16:29:36

标签: visual-studio-2010 linq dataset

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

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

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

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

Exception

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

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

由于

1 个答案:

答案 0 :(得分: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文件。