0

null で問題を引き起こしている linq クエリがいくつかあります。簡単な答えがあると確信していますが、それが何であるかはわかりません。

    var IDs = _user.IsNotNull()
        ? _user.BookmarkedStores.Select(s => s.StoreId)
        : null;

    var stores = IDs.IsNotNull()
        ? StoreBL.FindActiveById(IDs).OrderBy(s => s.Name).ToList()
        : null;

StoreBL.FindActiveById が null であるため、IQueryable.OrderBy によって null 例外がスローされます。ストアは ID リストにあるがアクティブではない可能性があるため、null の戻り値は有効です。

したがって、どうにかしてそれらの間にヌルチェックを入れる必要があります。

クエリ自体の中でそれを行うことができるかどうか、またどのように行うことができるかについて誰かアドバイスがありますか?

4

1 に答える 1

0

適切な答えを見つけました。

FindActiveById() は、null の代わりに Enumerable.Empty().AsQueryable() を返すようになりました。

于 2012-09-15T12:47:01.503 に答える