1
附帶RavenDB具有Albums
文檔集合,每個有Genre
嵌入文件中,就像這樣的示例數據庫:RavenDB:當嵌入式與如何以不同的序列化類的文檔
{
... other stuff...
"Genre": {
"Id": "genres/1",
"Name": "Rock"
},
... other stuff...
}
公告在這裏Genre
有Id
和Name
字段。
但是當你看Genre
文件,他們有Id
,Name
和Description
領域,如:
{
"Description": "Rock and Roll is a form of rock music developed in the 1950s and 1960s. Rock music combines many kinds of music from the United States, such as country music, folk music, church music, work songs, blues and jazz.",
"Name": "Rock"
}
我怎樣才能在代碼模型,這樣,當我Store()
然後SaveChanges()
的Genre
會在保存自己的文檔時與保存Album
文檔和嵌入Genre
時序列化和保存不同(如示例數據)?
嗯,理解,可以工作。但這似乎有點跛腳。在模型中,我希望能夠將專輯的流派設置爲實際的流派類型(將流派實例用於存儲爲文檔並嵌入到專輯中)。任何方式來做到這一點? – TravisK
沒有。它不這樣工作。風格和專輯是唯一的文件。它們是DDD術語的「聚合體」。參考類本身不是一個聚合或文檔。您可以將GenreRef和ArtistRef作爲單獨的類,但它們都是「相冊」文檔的一部分。爲了清楚起見,有些人把它們作爲嵌套類放在聚合中,所以它們不會在外部干擾。 –
我更新了示例代碼,以顯示嵌套類和單獨的引用類,如我所述。此外,現在將Ids正確顯示爲字符串。 Int ID可以工作,但不是Raven的常態。 –