¿Puedo hacer una inserción muy grande con Linq-to-SQL?

Tengo algunos datos de texto que estoy cargando en una base de datos SQL Server 2005 usando Linq-to-SQL usando este método (código psuedo):

Create a DataContext

While (new data exists)
{
    Read a record from the text file

    Create a new Record 

    Populate the record

    dataContext.InsertOnSubmit(record);
}

dataContext.SubmitChanges();

El código es una pequeña aplicación de consola C #. Esto funciona bien hasta ahora, pero estoy a punto de importar los datos reales (en lugar de un subconjunto de prueba) y contiene aproximadamente 2 millones de filas en lugar de las 1000 que he probado. ¿Voy a tener que hacer un lote inteligente o algo similar para evitar que el código se caiga o funcione de manera lamentable, o debería Linq-to-SQL manejar esto con gracia?

Respuestas a la pregunta(4)

Su respuesta a la pregunta