在 Linq to Entities 查询中编写 if then else

Writing if then else in Linq to Entities query

我写了下面的代码来计算一个Document到:

var currentStationId = GetCurrentStation();
var result = dbContext
            .Documents
            .Select(x=> 
                    new MyDTO{
                            ...,
                            ReferCounts = x.DocumentStationHistories
                                           .Count(t => t.ToStationId == currentStationId))
                             }

现在我想改变计算机制 ReferCounts:

if(currentStationId == 1) ReferCounts = x.DocumentStationHistories
                                         .Count(t => t.ToStationId == currentStationId &&
                                                     t.FromStationId != t.ToStationId))
else
    ReferCounts = x.DocumentStationHistories
                   .Count(t => t.ToStationId == currentStationId))

如何在我的 linq to entities 查询中使用此代码?

这是 ternary if 语法的示例。

var result = dbContext
        .Documents
        .Select(x=> 
                new MyDTO{
                        ...,
                        ReferCounts = (currentStationId == 1) ?
                             x.DocumentStationHistories.Count(t => t.ToStationId == currentStationId && t.FromStationId != t.ToStationId)) 
                           : x.DocumentStationHistories.Count(t => t.ToStationId == currentStationId))
                         }