【发布时间】:2015-11-14 10:16:42
【问题描述】:
我想检索 DataTable 的所有 DbNull 单元格的列表。通常我是这样做的:
Private Function IsNotNullViolated(dt As DataTable, ColumnName As String) As Boolean
Dim IsOk As Boolean = True
Dim violatingCells =
dt.AsEnumerable() _
.Where(Function(i) i.RowState <> DataRowState.Deleted And (IsDBNull(i.Item(ColumnName))))
For Each violatingCell In violatingCells
violatingCell.SetColumnError(ColumnName, "Error, Violating Not Null")
IsOk = False
Next
Return Not IsOk
End Function
但现在我不想再传递列名,我想检查整个数据表。如何使用 Linq 实现这一目标?
【问题讨论】:
-
如果您的数据库架构禁止
NULL值(因为您的函数已命名),那么您将根本没有任何DbNull值。 -
没错,但这只是出于测试/didaptic/个人好奇心的目的
标签: .net vb.net linq datatable