【发布时间】:2017-02-17 19:57:42
【问题描述】:
我已将 MSSQL 数据集导入 Visual Studio 的数据集设计器,但遇到不可为空类型的问题。我的数据库允许使用空整数(如果可能的话,我希望保持这种状态),但.NET 中的整数不能为空。我很想在 .NET 中使用可为空的整数,但该数据类型似乎不是 DataSet Designer 的 DataType 属性的下拉列表中允许的选项。
我不希望每次为了将数据类型更改为可为空的整数而进行架构更改时都必须手动编辑 DataSet.Designer 类文件。当我引用 DBNull 属性时,我只想让我的属性返回 Null/Nothing,而不是抛出 StrongTypingException。
我看到数据集设计器中有一个 NullValue 列属性,但我不允许选择“返回 Null”,除非我的数据类型是 Object。
有没有使用设计器中的设置或简洁的包装函数来处理 DBNULL > Null 转换的干净方法?我不想每次调用这些属性之一时都对每一列使用 IsColumnNameNull() 函数。我也不想每次都将对象转换为它们的实际类型。
如果我看错了这个问题,请告诉我。任何反馈表示赞赏。谢谢!
【问题讨论】:
-
msdn.microsoft.com/en-us/library/1t3y8s4s.aspx; .net 中的可空类型。
-
您也可以使用 int32.tryparse 并将所有空整数视为负值或其他默认值,如果您想将它们保留为普通整数。
标签: c# .net sql-server vb.net tsql