2016-01-13 99 views
0

我想将一些RavenDB文档转换为更适合UI的视图模型。该ContractorModel对象应如下所示:RavenDB TransformResult:将文档的属性分配给集合的每个元素

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", 
} 

当我查询与随后的变压器承包商,我已经得到了相关的信任中心的文件,但我错过了两个属性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)), 
       }; 

回答

1

应该是这样的:

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 
        }), 
       }; 
相关问题