2014-05-10 54 views
1

我在RavenDB中應該是一件簡單的任務時遇到了麻煩。 在知道如何以這種方式從db中刪除一個特定的列表對象

Session.Delete("Artist/1") 

刪除烏鴉的文檔現在,我不是希望刪除整個文件。我只是想刪除 列表對象之一"Album

Id: Artist/1 
    "Artist": 
    "Image": "imgOfArtist", 

    "Album": [ 
    { 
     "Id": "1", 
     "Title": "" 
     "AlbumCover": "linkToCover" 
    }, 
    { 
     "Id": "2", 
     "Title": "" 
     "AlbumCover": "linkToCover" 
    } 
    ], 

如何才能做到這一點這似乎對我來說,一個良好的開端是加載這樣的文件:?

var theDoc = Session.Load<AllArtists>("Artist/1"); 

那麼也許我應該做這樣的事情:

var Todelete = theDoc.Albums.Where(o => o.Id == 1); 

Session.Delete(Todelete); 

這給了我下面的錯誤: System.Linq.Enumerable + WhereListIterator`1 [XXXXXX XXX.Albums]與會話沒有關聯,不能刪除未知實體實例

+0

請參閱編輯! – user2915962

回答

2

您需要刪除文檔值。

var artist = Session.Load<AllArtists>("artists/1"); 
artists.Albums.RemoveAt(3); 
Session.SaveChages(); 
+0

完美工作!謝謝! – user2915962