如何在RavenDB中处理投影
本文关键字:处理 投影 RavenDB | 更新日期: 2023-09-27 18:21:03
给定域模型。。。
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存储库,添加了一个失败的测试来证明这种行为,并创建了一个拉取请求(#444)。我发现后会发布更多信息。
看起来它实际上是一个bug。有关更多信息,请参阅拉取请求#444。
当这个问题在稳定版本中得到修复时,我会更新这个答案
已在当前稳定版本中修复。