Вам нужно будет сделать это вручную, прочитать строку за строкой и решить, что вы собираетесь делать.
Пример запуска:
Файл CSV:
Test1, Test2, Test3
A, 1, foo
TestA, TestB, Test3
B, 07a0fca2-1b1 c -4e44-b1be-c2b05da5afc7 , bar
void Main()
{
using (var reader = new StreamReader("path\\to\\file.csv"))
using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
{
csv.Configuration.HasHeaderRecord = false;
csv.Configuration.RegisterClassMap<FooMap>();
csv.Configuration.RegisterClassMap<BarMap>();
var fooRecords = new List<Foo>();
var barRecords = new List<Bar>();
while (csv.Read())
{
switch (csv.GetField(0))
{
case "A": // Or "Test1"
...
break;
case "B": // Or "TestA"
...
break;
default:
throw new InvalidOperationException("Unknown record type.");
}
}
}
}
Пример и документация: Чтение нескольких типов записей