I have the following datatable, which has Units information. The Units have a surface in square meters.
However the units can be split into subunits, in the datatable there is a ParentUnitID to know if that unit is splitted or not.
I need to validate that the sum of the surface of the child units, is equal to the surface of the parent unit.

The current code is something like:
private void ValidateUnitsStep(WorkspaceCancelEventArgs e)
{
//Get data from step
GetUnitsData();
UserControlUnits Units = GetSmartPartByType<UserControlUnits>();
if (_unitDataSet.Unit.HasErrors)
{
e.Cancel = true;
}
DataRow[] rows = _unitDataSet.Unit.Select("ParentUnitId !=" + string.Empty);
foreach(DataRow dr in rows)
{
}
}
I would like to do this with LINQ. 
Edit:
Yes, thats also possible, up to 2 levels of childs only
Unit A (100 sqm)
-UnitA1 (70)
-UnitA11 (20)
-UnitA12 (20)
-UnitA12 (30)
-UnitA2 (30)
-UnitA21 (20)
-UnitA22 (10)
A possible implementation using linq to DataSet
(1 level of children, but I’m sure you can work out for 2 levels)