Sto interrogando l'entità TimeoutData incorporata in RavenDB utilizzando la libreria Raven.Client.Lightweight 2.5 per ottenere un documento di timeout specifico. È possibile che TimeoutData non esista nel database perché non è ancora presente alcun documento. In tal caso, viene generata NotSupportedException quando si tenta di eseguire una query.Come verificare se esiste una tabella (entità) in RavenDB
Attualmente ho creato soluzione per questa situazione:
try
{
timeoutData = _session.Query<TimeoutData>().FirstOrDefault(t => t.Headers.ContainsValue(someValue));
}
catch (NotSupportedException)
{
return null;
}
E 'possibile verificare se esiste TimeoutData senza usare try-catch? Ho anche provato il seguente codice ma restituisce false quando i documenti esistono in TimeoutData entità:
if (!_session.Query<TimeoutData>().Any())
{
}
Non sono sicuro di seguirmi. 'NotSupportedException' verrà lanciato solo se non siamo in grado di elaborare la query. Sei interessato a un documento specificato o in qualsiasi cosa esista? –
Mi interessa sapere se l'entità TimeoutData (tabella) esiste in RavenDB. Anche NotSupportedException viene generato quando TimeoutData non esiste, ma vorrei implementare una soluzione più solida. –
'if (! _session.Query() .Any())' Questo dovrebbe darti quell'informazione –