It seems to me that you are trying to get a list of types along with their calculation (since the cost will always be 1 in your example). Below is the code that should do this:
from i in items group i by i.Type into t select new { t.Key, TypeCount = t.Count() }
This will return 3 objects (displayed as a table below):
Type TypeCount -------- --------- Type1 10 Type2 10 Type3 10
If the value will always be the same, then I believe that it is just like receiving an invoice.
source share