2012-01-21 88 views
1

鑑於域模型...如何處理投影在RavenDB

public class Entity 
{ 
    public int Id { get; set; } 
    public Category Category { get; set; } 
} 

public class Category 
{ 
    public string Title { get; set; } 
} 

...我要投射到這個視圖模型選擇查詢的結果:

public class EntityViewModel 
{ 
    public int Id { get; set; } 
    public string CategoryTitle { get; set; } 
} 

我曾嘗試以下查詢:

var viewModel = (from entity in _documentSession.Query<Entity>() 
       select new EntityViewModel 
          { 
           Id = entity.Id, 
           CategoryTitle = entity.Category.Title 
          }.ToList(); 

這樣做的結果是僅部分正確的:在Id被設置,CategoryTitle不是。我理解這種行爲是設計,但我懷疑有一個API來處理這種情況。

RavenDB應該如何處理這樣的投影?

更新:我在嵌入模式下使用版本1.0.573。

更新2:我已經分叉了RavenDB存儲庫,添加了一個失敗的測試來演示此行爲並創建了一個pull request (#444)。我會發現更多信息。

+0

你在使用什麼構建?這應該實際上工作 –

+0

@AyendeRahien在嵌入式模式下構建1.0.573。 –

回答