选择新时需要填充集合的子集合

时间:2010-06-21 16:42:11

标签: c# linq

我的Linq查询中的所有内容都正常工作,但我尝试使用数据填充子集合的区域除外。 (任何引用ChannelInfo的东西)。

ChannelInfo确实出现在Intellisense中,因此它被识别为新OfferType的属性。我也可以在智能感知器中识别和访问我对ChannelInfo的setter的右侧。如果可能的话,我真的需要创建新的OfferType对象。我可以通过这种方式引用子连接(ChannelInfo),以便我可以使这个查询起作用吗?

IEnumerable<OfferType> list = (from offerCatType in offerRes.OfferCategory  <=---- OfferCategoryType objects
                               where offerCatType.type == Type
                               from offers in offerCatType.Offer  <=--- OfferType objects
                               where Convert.ToDateTime(offers.startDate) > MonthYear && Convert.ToDateTime(offers.endDate) < MonthYear
                                     select new OfferType
                                     { 
                                         name = offers.name,
                                         description = offers.description, 
                                         startDate = offers.startDate, 
                                         endDate = offers.endDate, 
                                         ChannelInfo.refClickThroughLink = offers.ChannelInfo.refClickThroughLink,
                                         ChannelInfo.refId = offers.ChannelInfo.refId,
                                         ChannelInfo.refLink = offers.ChannelInfo.refLink 
                                     }
                                 );

1 个答案:

答案 0 :(得分:0)

select new OfferType
{ 
   name = offers.name,
   description = offers.description, 
   startDate = offers.startDate, 
   endDate = offers.endDate, 
   ChannelInfo = 
   new ChannelInfo 
   { 
      refClickThroughLink = offers.ChannelInfo.refClickThroughLink,
      refId = offers.ChannelInfo.refId,
      refLink = offers.ChannelInfo.refLink 
   };
}

请原谅语法。但是,您必须new升级ChannelInfo