1

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

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

就指针而言,如果 DataTable 中的每一行都指向原始 DataTable,那么我很高兴。这就是“表”属性的全部吗?

只是为了解释为什么我要基于单个 DataRow 获取整个表:我正在使用 linq 连接两个(有时更多)表。我想要一个通用例程,它接受 linq (var) 的输出,并生成一个包含所有结果的单个 DataTable。我在 stackoverflow 上打开了另一个问题(加入 LINQ,避免在“new {}”中显式命名属性?),但到目前为止似乎还没有一个通用的解决方案,所以我正在尝试编写一个。

4

2 回答 2

2

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

if(row.Table == null)
{
}
else
{
}
于 2012-06-22T14:40:57.227 回答
1

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

于 2012-06-22T14:40:21.873 回答