【发布时间】:2016-08-09 17:00:13
【问题描述】:
我有课:
Public Class Data
Public Property ColumnList As List(Of Column)
Public Property RowList As List(Of Row)
End Class
Public Class Row
Public Property CellList As List(Of Cell)
End Class
Public Class Column
Public Property name As String
End Class
Public Class Cell
Public Property value As Object
Public Property col As Column
End Class
然后我想检查列名列表是否是数据的主键(如 SQL),例如
ColumnFieldNames = {"FieldA", "FieldB"}
ColumnList 包含 3 个名为 FieldA、FieldB、FieldC 的 Column。
RowList 包含 3 个 CellLists,每个都填充了 FieldA、FieldB、FieldC 的值以及对 Column 的引用。
Data.ColumnList(0).name = "FieldA"
Data.ColumnList(1).name = "FieldB"
data.RowList(0).CellList(0).value = 1
data.RowList(0).CellList(0).column = ColumnList(0)
data.RowList(0).CellList(1).value = 2
data.RowList(0).CellList(1).column = ColumnList(1)
data.RowList(1).CellList(0).value = 34
data.RowList(1).CellList(0).column = ColumnList(0)
data.RowList(1).CellList(1).value = 2
data.RowList(1).CellList(1).column = ColumnList(1)
等等
我想要某种group by ... having count(*) > 1
或select count(1) - 声明所以如果我选择FieldB 作为ColumnFieldNames 它会返回一些东西,因为有不止一行包含CellList.value = 2。如果我选择 {"FieldA", "FieldB"} 作为ColumnFieldNames,它不会返回任何内容。
【问题讨论】: