LINQ有2个WHERE条件

时间:2013-06-27 16:58:03

标签: asp.net linq asp.net-mvc-4

这是数据库表

[Table("Score")]
public class Score
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int ScoreId { get; set; }
    public int QuizId { get; set; }
    public int PersonId { get; set; }
    public string Answer { get; set; }
    public virtual Quiz Quiz { get; set; }
}

我想使用此代码返回数据库中存在多少条记录的结果

var query = (from n in db.Scores
where n.PersonId == x && n.Quizid == y                      
select n).Count();

x和y有一个值。

我如何使这个代码在2个条件下工作? 或任何其他方式使这项工作

2 个答案:

答案 0 :(得分:4)

你所得到的应该是有用的。更简洁的写作方式是:

db.Scores.Count(n => n.PersonId == x && n.QuizId == y);

答案 1 :(得分:2)

在编译方面,问题是Quizid不存在,它是QuizId