title: Check if value already exist in existing list before adding new data
body: <p>I have a table that store data from an uploaded excel sheet. Every time the user uploads a new list, it needs to check against the existing list if there's a duplicate value "A" before inserting a new row.
  So far, this is what I have (as an example):</p>
  
  <pre><code>var originalData = await DataBase.ToListAsync();
  List&lt;Data&gt; newData = new List&lt;Data&gt;();
  /*... (getting data from file and add to newData list)...*/
  /*** Below is where I have problem. What I try to achieve: 
  1 - Compare "ValueA" value from the newly uploaded data to the existing data, if they're the same then don't add to the database. 
  2 - Because the list that user upload may contains multiple rows with different datapoints and values but the same ValueA, it should only store one ValueA and ignore the rest (hence, the GroupBy) 
  ***/
  var list = newData.Where(n =&gt; originalData.Any(o =&gt; n.ValueA == o.ValueA))
         .GroupBy(data =&gt; data.ValueA.ToLower())
         .Select(data =&gt; data.First());
  foreach(Data d in list){
    DataBase.Add(d);
  }
  await DataBase.SaveChangesAsync();
  </code></pre>
  
  <p>When it uploads the files with multiple rows (with different data points) but the same value of <code>ValueA</code>, it adds the data with unique <code>ValueA</code> value (as expected). However, when I upload another file, it keeps adding even though it has duplicate value <code>ValueA</code>. The goal is to only add new data without the duplicate value of <code>ValueA</code>.</p>