public static IDataRecord Build(IDataRecord rec)
{
var row = new Dictionary<string, object>(rec.FieldCount, StringComparer.InvariantCultureIgnoreCase);
for(int i = 0; i < rec.FieldCount; i++)
{
var name = rec.GetName(i);
if(!row.ContainsKey(name))
{
row.Add(name, rec[i]);
}
}
return new DisconnectedDataRecord(row);
}