How do you return a default value if a LINQ to entities query returns no values

defaultifempty, entity-framework, linq, linq-to-entities

Solution

I ended up going for a very simple approach which was recommended by an answer here that was latter erased:

var vote = (from vote in db.Vote 
            where vote.Voter.Id == user.Id
            select v).FirstOrDefault();
if (vote == null) {
    vote = new Vote() { .... };
    db.AddToVoteSet(vote);
}

Problem

In a LINQ to entities expression like this: ``` var vote = (from vote in db.Vote where vote.Voter.Id == user.Id select v).FirstOrDefault(); ``` How do you add a DefaultIfEmpty value so that when there's no vote I'd get a default value?

Original source