the 'Default' is misleading.
var q= from c in metaData.Customer.Where(c=>c.Country=="UK").FirstOrDefault()
join o in metaData.Order on ....
what to do there? Result in 'null' ? What if I have a nested scalar... what to do there?
So 'OrDefault' variants work the same as First etc. (described in the doc).
Now back to your query. It shouldn't throw up in an exception. I'll check it out.
(edit). Ok this is a bug in LLBLGenProProviderBase.TResult IQueryProvider.Execute<TResult>(LinqExpression expression)
it always assumes there's a value. It should check if there's a value. Will fix it.