在c#项目中,我有两个集合,我试图使用lambda查询它们以返回值
伪代码
Collection1
alertID
SavedItemID
SavedNameCollection2
SavedItemID
alertID
警告类型
dateCreated会
var name = Collection2.where(c => c.savedItemID == Collection1.SavedItemID) return SavedName Property value from collection 1.
基本上在初始查询中我正在进行集合2我想从collection2导航到集合1以返回Saved Name字段。我从未试图通过树向上导航来检索另一个对象。任何人都可以提供一些关于如何构建这个表达式的建议吗?
谢谢
答案 0 :(得分:4)
您需要使用Join,然后使用project和您关注的字段组成的anonymous type。
var result = from c2 in Collection2
join c1 in Collection1 on c2.SavedItemID equals c1.SavedItemID
select new { c2.SavedItemID, c1.SavedName };
这相当于
var result = Collection2.Join(
Collection1,
c2 => c2.SavedItemId,
c1 => c1.SavedItemId,
(c2, c1) => new { c2.SavedItemID, c1.SavedName });