Hello,
I am very much interested to do this work as i am experienced a lot with asp.net. I also did similar work before. Your requirements could be done in several ways as you also mentioned. I will prefer BulkInsert as it is most faster, but in that case field mapping is very important. I will consider another thing, if you have a primary key column, to check each data existence in the database, i will load the DB's existing primary key value in memory, then to check each record, i will do it in memory rather than going to database for each record, this will effect less time consuming. Anyway, looking forward to have a positive response from you.
Thanks