programing

IQueryable 결과 집합이 null인지 확인하는 가장 좋은 방법은 무엇입니까?

sourcetip 2023. 7. 31. 22:16
반응형

IQueryable 결과 집합이 null인지 확인하는 가장 좋은 방법은 무엇입니까?

나는 단지 어떤 것이 가장 좋은 확인 방법인지 알고 싶을 뿐입니다.IQueryable결과에 값이 없습니다.

예를 들어 우리에게 같은 방법이 있다면요.

public static IQueryable<Table> DisplayAll()
{
    var db = new DataContext();
    var list= from data in db.Table select data;
    return list;
}

그리고 나서 우리는 이런 것을 합니다.

var list = DisplayAll();
if(list != null)
{
     //do something --- in here even if the result set has no values it will
     // go to this line. It just say `enumeration yielded no results`
}

결과 집합에 내용이 있는지 확인할 수 있는 가능한 방법이 있습니까?

감사해요.

list결코 그렇지 않을 것입니다nullLINQ를 사용합니다. 필요한 경우 단순히 "빈 컬렉션"을 나타냅니다.테스트 방법은 다음과 같습니다.Any확장 방법:

if (list.Any()) {
    // list has at least one item
}

IQueryable이 결과를 반환하지 않을 경우 예외가 발생합니다.사용자:

using System.Data.Entity; //for Async support in EF
var tQ = await _tableRepository.DisplayAll();
try { return await tQ.ToListAsync(); }
catch { return null; }

예외를 트랩하고 null을 반환하거나, 원하는 경우 빈 목록을 반환합니다.

catch { return new List<Table>(); }

다음은 제게 맞는 것입니다.

    public IQueryable SomeFunc()
    {
        IQueryable result = Repo.SomeLinqQuery();
        if (result.GetEnumerator().MoveNext() == false)
        {
            throw new Exception("Results empty");
        }
        return result;
    }

언급URL : https://stackoverflow.com/questions/7822070/what-is-the-best-way-to-check-iqueryable-result-set-is-null

반응형