1
以下のLinq問合せで、私はうまく動作しません。私の問題は、null参照または結果が得られないということです(私が持っているforループに "if"ステートメントを置いておくと)。このクエリは、event_numberで上位20回の結果を提供することになっています。Linq問合せのNull例外または結果がありません。
var queryByEventNumber = EventNumbers
.GroupJoin(EntryEvents, e => e.Id, ee => ee.EventNumberId, (e, g) => new
{
EventNumber = e,
EntryEvents = g
})
.OrderBy(e => e.EventNumber.Event_Number);
foreach (var group in queryByEventNumber)
{
Console.WriteLine($"EventNumber: { group.EventNumber.Event_Number}");
//If statement apparently always returns false at this point
//If I remove if statement, I get a null reference on group.EntryEvents.OrderBy(r => r.Result.AdjustTime)...
if(Results.Any(r => r.EntryEvents.Any(g => g.EventNumberId == group.EventNumber.Id)))
{
foreach (var result in group.EntryEvents.OrderBy(r => r.Result.AdjustedTime).Take(20))
{
Console.WriteLine($"\t\t{result.Result.AdjustedTime} : {result.Result.DateCreated.Year}");
}
}
}
問題は、すべてのイベント番号に対して結果がないことです(最終的に私はどちらかの方法で対応できる必要があると思います)。私はifステートメントにいくつかのバリエーションを試しましたが、運はありません。どんな助けもありがとうございます。ありがとう!
ことが最適であるが、それは動作します、あなたは 'の場合(Results.Any(R => r.EntryEvents.Any'に'場合(Results.Any(R => Rを変更してみてください.EntryEvents.Where' – Yahya
しようとしましたが、IEnumerableをboolに変換できません。 –
Wyatt
「EventNumbers」および「EntryEvents」変数のタイプはどれですか? –