I have a LINQ query which works fine. I am however very interested to understand if this can be written in a more optimum way...

```
var query = (from r in Results.All.AsEnumerable()
                       where r.RequestType.Id == Id &&
                             r.DateFrom >= sDate &&
                             r.DateTo <= eDate
                       group r by new {r.Data_1} into g
                       select new {data = g.Key.Data_1, 
                                    sum = g.Sum(s => int.Parse(s.Data_2))}).ToList();

```

I am trying to sum Data\_2 (stored as a string) by a unique list of Data\_1 all by a given date range.

I have provided some sample data below:

![table data for query](https://i.stack.imgur.com/tj5Ma.gif) 

For example: facebook.com = 51, m.facebook.com = 94 etc.