Search code examples
linqentity-frameworklinq-to-entitiesdefaultifempty

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


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?


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);
    }