我有一个业务对象模型,如下所示:
Parent
string ParentType
List<Child> ChildCollectionList
Child
int ChildId
string ChildText
我的目标是具有此签名的元组列表
Tuple<ParentType,List<string>> resultingTuple
其中List由ChildCollectionList集合中的ChildTexts组成。
现在,我有这样的事情。
context.TruckSet.Where(n => n.IsDeleted.Equals(false))
.Select(p =>
new Tuple<string,List<string>>
(p.TruckType,p.TruckAttributes.Select(n => n.AttrText)
.ToList())).ToList();
毋庸置疑,Linq查询并不像我对TruckAttributes集合那么小的扩展。
我不确定我应该做什么。
答案 0 :(得分:0)
您已实施的示例有点令人困惑,因为它与您上面描述的模型不匹配。但考虑到你只是想从你的模型中创建那个Tuple-List,以下内容可能有所帮助:
IList<Tuple<string, IList<string>>> result =
parents.Select(p =>
Tuple.Create(p.ParentType, p.ChildCollectionList.Select(c => c.ChildText).ToList()));
答案 1 :(得分:0)
您需要执行以下linq:
List<string> result = (from childItem in yourParentName.ChildCollectionList
select childItem.childText).ToList();
现在,当您拥有文本列表时,您可以编写以下内容:
Tuple<ParentType,List<string>> resultingTuple =
new Tuple<ParentType,List<string>>(yourParentName,result)