title: Better way to combine two objects with linq?
body: <p>Some of our data isn't the cleanest. For instance, if a person gave their address two different ways, he may appear in output twice: once with "RD" and again with "Road."</p>
  
  <p>Funnily, enough, half their data appears in one record and half in the other. So...</p>
  
  <pre><code>Johnny, Larsen Rd, Tuesday, 4 milk bottles
  Johnny, Larsen Road, Tuesday, 3 milk bottles
  </code></pre>
  
  <p>Johnny's consumption for Tuesday was, in fact, 7 bottles of milk. I'm trying to write a LINQ that merges these two objects without too much pain, but this is all I have so far:</p>
  
  <pre><code>var records = report.GroupBy(r =&gt; r.Date)
      .Select(n =&gt; new MilkBottleRecord() {
          Name = report.First().Name,
          Address = report.First().Address,
          Date = report.First().Date,
          Bottles = n.Sum(x =&gt; x.Bottles),
      });
  </code></pre>
  
  <p>Any suggestions?</p>
  
  <p>I should point out that A) this is not our data, so we can't really do the cleanup, and B) we're getting it via CSV rather than from an SQL query.</p>
  
  <p>Also, the only relevant information in the query above is the date because I already separated out the different accounts in a prior query. Since that one is fine, I didn't figure it was worth your time to include it here.</p>