RavenDB TransformResult:将文档的属性分配给集合的每个元素

RavenDB TransformResult: Assign properties of a document to each elements of a collection

我想将一些 RavenDB 文档转换为更适合 UI 的视图模型。 ContractorModel 对象应如下所示:

public class ContractorModel
{
   public string Identifier {get; set;}
   public TrustcenterModel[] {get; set; }
}

public class TrustcenterModel
{
   public string Ean {get; set;}
   public string Name {get; set;}
}

对应的json文档格式如下:

ContractorJson:
{
  "Identifier": "42",
  "Trustcenters": [
    {
      "Ean": "2222222222222",
      "ValidFrom": "2016-01-13T00:00:00.0000000",
      "ValidTo": "2499-12-31T00:00:00.0000000"
    }
  ]
}
TrustcenterJson:
{
  "Ean": "2222222222222",
  "Name": "FooBar",
}

当我用后续的Transformer 查询Contractor 时,我已经得到了相关的Trustcenter 文档,但是我缺少ValidFrom 和ValidTo 这两个属性。如何将承包商的这两个属性投影到每个信任中心?

this.TransformResults = contractors =>
                from contractor in contractors
                select new
                {
                    contractor.Identifier,
                    Trustcenters = contractor.Trustcenters.Select(x =>  this.LoadDocument<TrustCenter>(TrustCenter.IdPrefix + x.Ean)),
                };

应该是这样的:

this.TransformResults = contractors =>
                from contractor in contractors
                select new
                {
                    contractor.Identifier,
                    Trustcenters = contractor.Trustcenters.Select(x => new
                    {
                        x.Ean,
                        x.ValidFrom,
                        x.ValidTo,
                        Name = this.LoadDocument<TrustCenter>(TrustCenter.IdPrefix + x.Ean).Name
                    }),
                };