Ich würde immer noch SqlBulkCopy
verwenden um Ihre Daten schnell aus der externen Datei in eine Staging-Tabelle zu kopieren die dieselbe (flache) Struktur wie die Datei hat (Sie müssen diese Tabelle im Voraus erstellen)
Sobald es geladen ist, können Sie die Daten auf mehrere Tabellen aufteilen, indem Sie z. eine gespeicherte Prozedur oder so etwas - sollte ziemlich schnell sein, da alles bereits auf dem Server ist.