C# 如何在RavenDB中删除没有给定索引的集合?

C# 如何在RavenDB中删除没有给定索引的集合?,c#,.net-core,ravendb,C#,.net Core,Ravendb,我看到了通过查询删除集合实体的示例 但我的问题是,如何在不提供索引的情况下删除集合 例如,我创建/插入了一个集合到RavenDB,如下所示 using (IDocumentSession session = _documentStore.OpenSession()) { session.Store<TEntity>(entity); session.SaveChanges(); } using (IDocumentSession session = _docume

我看到了通过查询删除集合实体的示例

但我的问题是,如何在不提供索引的情况下删除集合

例如,我创建/插入了一个集合到RavenDB,如下所示

using (IDocumentSession session = _documentStore.OpenSession())
{
    session.Store<TEntity>(entity);
    session.SaveChanges();
}
using (IDocumentSession session = _documentStore.OpenSession())
{
    session.DeleteAll<TEntity>()
    session.SaveChanges();
}
使用(IDocumentSession=\u documentStore.OpenSession())
{
会话存储(实体);
session.SaveChanges();
}
我没有创建任何索引。刚刚把一些数据存储到RavenDB。 我在api上寻找这样的东西

using (IDocumentSession session = _documentStore.OpenSession())
{
    session.Store<TEntity>(entity);
    session.SaveChanges();
}
using (IDocumentSession session = _documentStore.OpenSession())
{
    session.DeleteAll<TEntity>()
    session.SaveChanges();
}
使用(IDocumentSession=\u documentStore.OpenSession())
{
session.DeleteAll()
session.SaveChanges();
}

但这并不存在。那么如何在没有给定索引的情况下删除实体呢?

以下代码将直接在集合上运行,而无需创建索引:

var queryToDelete = new IndexQuery { Query = $"FROM {collection}" };
var operation = store.Operations.Send(new DeleteByQueryOperation(queryToDelete, new QueryOperationOptions { AllowStale = false }));
operation.WaitForCompletion(TimeSpan.FromSeconds(60));

以下代码将直接在集合上运行,而无需创建索引:

var queryToDelete = new IndexQuery { Query = $"FROM {collection}" };
var operation = store.Operations.Send(new DeleteByQueryOperation(queryToDelete, new QueryOperationOptions { AllowStale = false }));
operation.WaitForCompletion(TimeSpan.FromSeconds(60));