可以或者我应该在LINQ查询中将两个Where子句连接在一起吗?

Ala*_*an2 1 c# linq

我有以下课程:

public partial class Content
{
    public int ContentId { get; set; }
    public int ContentTypeId { get; set; }
    public string Title { get; set; }
    public string Text { get; set; }

    public int SubjectId { get; set; }
    public virtual Subject Subject { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以像这样使用Linq查询:

.Where(a => a.SubjectId == subjectId)
Run Code Online (Sandbox Code Playgroud)

但是,我怎么能这样做,所以还有另一个条件

.Where(a => a.ContentTypeId == contentTypId) 
Run Code Online (Sandbox Code Playgroud)

有没有办法将这些加入到哪一个或者它们应该保持为两个?

xle*_*ier 6

仅使用一个Where包含所有条件的子句:

.Where(a => a.SubjectId == subjectId && a.ContentTypeId == contentTypId)
Run Code Online (Sandbox Code Playgroud)

或者两个Where条款,分别处理一个条件:

.Where(a => a.SubjectId == subjectId)
.Where(a => a.ContentTypeId == contentTypId)
Run Code Online (Sandbox Code Playgroud)

等价,因为LINQ查询执行被推迟到调用结果.