linq - 如果 LINQ toEntity 查询不返回任何值,如何返回默认值

标签 linq entity-framework linq-to-entities defaultifempty

在 LINQ toEntity 表达式中,如下所示:

var vote = (from vote in db.Vote where
    vote.Voter.Id == user.Id
    select v).FirstOrDefault();

如何添加 DefaultIfEmpty 值,以便在没有投票时我可以获得默认值?

最佳答案

如果 Vote 是引用类型并因此使用 null 作为其默认值,另一种方法是使用 null 合并运算符:

var vote = (db.Vote
   .Where(v => v.Voter.Id == user.Id)
   .FirstOrDefault()) ?? defaultVote;

关于linq - 如果 LINQ toEntity 查询不返回任何值,如何返回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1127054/

相关文章:

linq - 是否可以执行 Linq 以 HashSet 而不是 List 的形式返回集合?

c# - 如何将字典拆分为 "n"部分

c# - Entity Framework 中带有 OR 条件的动态查询

c# - Linq to Entities - 查询以检查输入中 "n"个字符的匹配

c# - 使用 Linq 在值之间添加逗号

c# - 在没有外键 Entity Framework 的情况下设置一对多

c# - 在 Code First EF 中声明 List 而不是 ICollection 有何效果?

asp.net - 创建 Entity Framework 数据库时出现 Mysql 语法错误

.net - 从 LINQ to SQL 迁移时需要注意的事项 --> LINQ to Entities

c# - 是否有 Linq 操作从项目列表中检索特定项目,其中项目具有应该唯一的属性的属性值?