2012-04-13 5 views
1

Ich habe ein Dokument in ravendb erstellt. Mit session.advanced.getmetadata (siehe im Code) gab ich Raven-Entity-Name in Metadaten einen Namen, danach löschte ich dieses Dokument in der gleichen Funktion. Dann sah ich Sammlung wurde auch entfernt.Wenn ich das Dokument manuell löschen von Raven Studio dann bleibt die Sammlung in der Datenbank.Wie bleibt eine Sammlung bestehen, auch wenn es kein Dokument aus Codeteil gibt? Danke im Voraus !!Ich kann keine Sammlung in ravendb erstellen, wenn ich kein Dokument darin habe

Mein C# -Code ist:

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; 
    } 

Antwort

1

In RavenDB, Sammlungen sind virtuell, sie sind da nur so lange, wie Sie in diesem Dokument mindestens ein doc haben.

+0

vielen dank :) –