Pytam wbudowaną jednostkę TimeoutData w RavenDB przy użyciu biblioteki Raven.Client.Lightweight 2.5, aby uzyskać określony dokument dotyczący limitu czasu. Możliwe, że TimeoutData nie istnieje w bazie danych, ponieważ nie ma tam jeszcze żadnego dokumentu. W takim przypadku zgłoszony zostanie wyjątek NotSupportedException podczas próby wysłania zapytania.Jak sprawdzić, czy tabela (podmiot) istnieje w RavenDB
Obecnie stworzyliśmy obejście tej sytuacji:
try
{
timeoutData = _session.Query<TimeoutData>().FirstOrDefault(t => t.Headers.ContainsValue(someValue));
}
catch (NotSupportedException)
{
return null;
}
Czy to możliwe, aby sprawdzić, czy TimeoutData istnieć bez użycia try-catch? Próbowałem również następujący kod ale zwraca false gdy dokumenty istnieją w jednostce TimeoutData:
if (!_session.Query<TimeoutData>().Any())
{
}
Nie jestem pewien, czy podążam. Wyjątek "NotSupportedException" zostanie zgłoszony, jeśli nie będziemy w stanie przetworzyć zapytania. Czy jesteś zainteresowany określonym dokumentem lub cokolwiek tam istnieje? –
Jestem zainteresowany tym, czy encja TimeoutData (tabela) istnieje w ogóle w RavenDB. NotSupportedException jest również generowany, gdy TimeoutData nie istnieje, ale chciałbym wprowadzić bardziej trwałe rozwiązanie. –
'if (! _session.Query(). Any())' To powinno ci dać tę informację –