1

ravendbでドキュメントを作成しました。session.advanced.getmetadata(コードを参照)を使用して、メタデータでRaven-Entity-Nameに名前を付けた後、同じ関数でそのドキュメントを削除しました。その後、コレクションも削除されます。ドキュメントを手動で削除した場合raven studioの場合、コレクションはデータベースに残ります。コード部分からのドキュメントがない場合でも、コレクションはどのように保持されますか?前もって感謝します !!

私のc#コードは:

public CreateCollectionResult CreateCollection(string databaseName, string collectionName)
    {
        CreateCollectionResult createCollectionResult = new CreateCollectionResult();

        Collection collection1234 = new Collection();
        try
        {
            using (var session = documentStore.OpenSession(databaseName))
            {
                Guid guid = new Guid("12345678-1111-1111-2222-000000000000");
                session.Store(collection1234, guid, "april-Days/10");
                session.Advanced.GetMetadataFor<Collection>(collection1234)[Constants.RavenEntityName] = collectionName;
                //session.Delete<Collection>(collection1234);
                session.SaveChanges();
                createCollectionResult.IsOperationSuccessfull = true;
            }
        }
        //exception if database not found
        catch (InvalidOperationException ex)
        {
            createCollectionResult.IsOperationSuccessfull = false;
            createCollectionResult.Error = ex;
        }
        return createCollectionResult;
    }
4

1 に答える 1

2

RavenDB では、コレクションは仮想であり、そのドキュメントに少なくとも 1 つのドキュメントがある場合にのみ存在します。

于 2012-04-14T14:58:09.470 に答える