如果我拥有的只是一个DataRow,我可以访问整个DataTable吗?

时间:2012-06-22 14:38:02

标签: c# datatable

DataRow包含一个Table属性,它似乎返回该行所属的整个Table。

我想知道我是否可以安全地使用那张桌子,或者是否有问题。 在http://msdn.microsoft.com/en-us/library/system.data.datarow.table.aspx文档中,它说“DataRow不一定属于任何表的行集合。当DataRow已创建但未添加到DataRowCollection时会发生此行为。”,但我知道我的行属于一个表格。

就指针而言,如果DataTable中的每一行指向原始DataTable,那么我很高兴。是所有'Table'属性吗?

只是为了解释为什么我试图基于单个DataRow获取整个Table: 我正在使用linq加入两个(有时更多)表。我想要一个通用例程,它接受linq(var)的输出,并生成一个包含所有结果的DataTable。 我在stackoverflow(Join in LINQ that avoids explicitly naming properties in "new {}"?)上打开了另一个问题,但到目前为止似乎没有通用的解决方案,所以我试着写一个。

2 个答案:

答案 0 :(得分:2)

如果您知道该行是表的一部分,那么您可以毫无问题地访问它。如果行可能没有与表关联的可能性,则检查该属性是否为空。

if(row.Table == null)
{
}
else
{
}

答案 1 :(得分:1)

只要它不为空,您就可以自由使用它。