Mik*_*ike 14 linq asp.net asp.net-mvc linq-to-sql
我正在学习Linq to SQL,我很难理解它.我试图简单地在C#中使用Linq查询返回单个(布尔值)值.
我想看看故事的所有者是否希望在添加新评论时发送电子邮件通知.我想包含Linq to SQL的方法返回一个布尔值.
 public bool NotifyOnComment(string username){
        var notify = (from s in db.AccountSettings
                      where s.UserName == username
                      select s.NotifyOnComment).DefaultIfEmpty(false);
        // clueless
    }
更新:
我现在正在做以下事情:
var notify = (from s in db.AccountSettings
                      where s.UserName == username
                      select s.NotifyOnComment).SingleOrDefault();
        return (bool)notify;
Joe*_*oey 29
默认情况下,Linq始终返回集合.如果你需要一个值,你可以申请的.Single(),.SingleOrDefault()或.First()或.FirstOrDefault()方法.
他们的所作所为略有不同.Single()并且SingleOrDefault()只有在结果中有完全或最多一条记录时才会起作用.即使有更多的结果First(),FirstOrDefault()也会奏效.
*OrDefault()如果结果不包含记录,变量将返回该类型的默认值.
var notify = (from s in db.AccountSettings
              where s.UserName == username
              select s.NotifyOnComment).DefaultIfEmpty(false).First();
//notify will either hold a bool or the AccountSettings object so
return (!(notify == false)); // Thanks Nick. Amazing what you'll do in a hurry.
| 归档时间: | 
 | 
| 查看次数: | 30257 次 | 
| 最近记录: |