The best thing is to convert the list to a data table and insert everything at one instance to sql.
steps to take for the same.
1. Make sure data is available from Js to controller.
2. do foreach and create data table from the list
3. create sp with table as parameter.
4. call the sp from ,c# code and insert all at once using the sp.
This way you don't need to keep the db connection alive for longer time until the foreach completes. you can insert millions of records in a single shot.
refer:
Sending a DataTable to a Stored Procedure[
^]