I thought I'd try using exceptions in this case. They are actually warnings to be logged rather than fatal errors. I am importing a user's xls file into the database, with several data lookups on the way. During the course of an import there can be many causes of problems which need logging and shown to the user at the end. For most of these, execution must continue past the error. Using exceptions is not something I've done before, and I may soon come to realise the error of my ways. It kind of seemed appropriate in this case, but it may trip me up yet.
p.s. Your post before you edited it contained the tip to use Single() instead of First(). This was very useful. In my limited Linq experience I hadn't come across it, I had always used First() or FirstOrDefault(), but Single() is a much better choice. Thanks
Greg