我已经使用.Net MySQL连接器将MySQL模式的数据集导入到Visual Studio中。

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

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

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

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

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

谢谢

最佳答案

  • 在解决方案资源管理器中,右键单击您的.xsd文件
  • 选择“打开方式...”
  • 选择“XML(文本)编辑器”
  • 查找一个已经设置为“(Empty)”或想要作为“默认”值的字段,并查看 msprop:nullValue 的语法,例如msprop:nullValue="_empty"
  • 使用文本搜索和替换(默认为CTRL + H)来修改文件中其余可空字段XML标记。一种方法是找到一个标准的列标记并将其添加到其中。例如,找到msprop:Generator_ColumnPropNameInTable并将其替换为msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable
  • 完成替换后,请确保每列只有一个msprop:nullValue属性实例,否则将有DataSet语法错误
  • 保存文件并关闭它
  • 双击您的.xsd,使其在XSD设计器中打开,然后保存以确保没有语法错误并更新了designer.cs文件。
  • 关于visual-studio-2010 - 更改数据集中NullValue的默认行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11249018/

    10-09 03:13