I am parsing a flat file which is working line by line and inserting into the database but I want to add an additional step, actually additional 2 steps.

First I only want records for recalls for specific car manufacturers which I have a database table called AutoMake that has a list of all the makes I want to include. I need to compare the record to that table to ensure that it is a record of one of the makes that I want to include. 

Then I need to do a second check to make sure the record is not already in my database.
This is a console App and I am using Entity for this. So here is my code I am driving myself crazy trying to write and rewrite this to include the checks but im just not getting it. 

Oh and not that it really matters because if someone can get me in the right direction I can move from there but `tokens[2]` is the `MAKETXT` and `RCL_CMPT_ID` is `tokens[23]` and `RCL_CMPT_ID` can be used to verify if a record is already in the database since it is a unique value

```
    public static void ParseTSV(string location)
    {
        Console.WriteLine("Parsing.....");

        using (var reader = new StreamReader(location))
        {
            var lines = reader.ReadToEnd().Split(new char[] { '\n' });

            if (lines.Length > 0)
            {
               foreach (string line in lines)
               {
                  if (string.IsNullOrWhiteSpace(line))
                  {
                    continue;
                  }
                  var tokens = line.Trim().Split(new char[] { '\t' });

                  var recalls = new Recalls();

                  recalls.RECORD_ID = tokens[0];
                  recalls.CAMPNO = tokens[1];
                  recalls.MAKETXT = tokens[2];
                  recalls.MODELTXT = tokens[3];
                  recalls.YEARTXT = tokens[4];
                  recalls.MFGCAMPNO = tokens[5];
                  recalls.COMPNAME = tokens[6];
                  recalls.MFGNAME = tokens[7];
                  recalls.BGMAN = tokens[8];
                  recalls.ENDMAN = tokens[9];
                  recalls.RCLTYPECD = tokens[10];
                  recalls.POTAFF = tokens[11];
                  recalls.ODATE = tokens[12];
                  recalls.INFLUENCED_BY = tokens[13];
                  recalls.MFGTXT = tokens[14];
                  recalls.RCDATE = tokens[15];
                  recalls.DATEA = tokens[16];
                  recalls.RPNO = tokens[17];
                  recalls.FMVSS = tokens[18];
                  recalls.DESC_DEFECT = tokens[19];
                  recalls.CONEQUENCE_DEFECT = tokens[20];
                  recalls.CORRECTIVE_ACTION = tokens[21];
                  recalls.NOTES = tokens[22];
                  recalls.RCL_CMPT_ID = tokens[23];

                  string connectionString = GetConnectionString();
                  using (SqlConnection connection = new SqlConnection(connectionString))
                  {
                      SqlCommand cmdIns = new SqlCommand(GetInsertSqlCust(recalls), connection);
                      connection.Open();
                      cmdIns.ExecuteNonQuery();
                      connection.Close();
                      cmdIns.Dispose();
                      cmdIns = null;
                  }
              }
          }
      }
  }

```