在 C# 和 .NET 中,可以创建一个DataView
只包含给定 s 的适当子集的s吗?DataColumn
DataTable
就关系代数而言,分配 aRowFilter
是为了执行“选择”操作 (σ)。如何执行“投影”操作(π)?
在 C# 和 .NET 中,可以创建一个DataView
只包含给定 s 的适当子集的s吗?DataColumn
DataTable
就关系代数而言,分配 aRowFilter
是为了执行“选择”操作 (σ)。如何执行“投影”操作(π)?
你不能这样做,但你可以创建一个只包含你想要的列的表的副本:
DataView view = new DataView(table);
DataTable table2 = view.ToTable(false, "FirstColumn", "SecondColumn", "ThirdColumn");
或者,您可以返回对所选列具有不同值的行:
DataView view = new DataView(table);
DataTable table2 = view.ToTable(true, "FirstColumn", "SecondColumn", "ThirdColumn");
好吧,我看不出“想要”这样做的任何理由......请记住,DataView 只是指向原始表中行的指针列表,显然没有办法从原始表中删除列...至少不会影响使用该表的所有其他功能...只需使用您想要的列...
创建数据视图作为从一个表到另一个表的交换,并使用 dtswap 作为数据源。
DataView dw = new DataView(dtfee);
DataTable dtswap = new DataTable();
dtswap = dw.ToTable(true,"Fees", "FeeAmount", "Year", "CollectorName", "Month");
DataSet
及其关联类型没有执行关系操作的能力。