당신은 DatabaseCommands IndexQuery 외부에서 쿼리를 작성하고 아래 IndexQuery 쿼리 문자열을 채우는 Query.ToString()를 사용할 수 있습니다 :이 방법을 사용하여
var query = session.Advanced.LuceneQuery<Asset, AssetsByExpirationDate>()
.WhereBetween("ExpirationDate",DateTime.MinValue,new DateTime(2012, 6, 1));
var queryString = query.ToString();
session.Advanced.DatabaseCommands.DeleteByIndex(typeof(AssetsByExpirationDate).Name, new IndexQuery
{
Query = queryString
});
을 당신은 루씬 쿼리 구문에 익숙하지 않은 경우 RavenDb Query API는 앞에서와 같이 .ToString()을 호출하여이를 빌드하고 다음 Lucene 형식의 쿼리 문자열을 갖습니다.
ExpirationDate:{00010101000000000 TO 20120601000000000}
DatabaseCommands를 사용하여 삭제하면 오래된 인덱스가 작동하지 않습니다. 조심하거나 표준 lucene 쿼리를 사용하여 삭제할 문서를 검색 한 다음 간단한 Session.Delete (asset) foreach 문서를 삭제하십시오. Ravendb 기본적로 128 결과를 반환 이후 매김에
var query = session.Advanced.LuceneQuery<Asset, AssetsByExpirationDate>()
.WhereBetween("ExpirationDate",DateTime.MinValue,new DateTime(2012, 6, 1));
var assets = query.ToList();
foreach(var asset in assets)
{
session.Delete<Asset>(asset);
}
session.SaveChanges();
지불 관심.
만료 번들을 사용하지 않는 이유는 무엇입니까? –