在一个c#项目中,我有两个集合,我试图使用lambda查询它们以返回值
伪代码
收藏1
alertID
SavedItemID
保存名称
收藏2
SavedItemID
alertID
AlertType
创建日期
var name = Collection2.where(c => c.savedItemID == Collection1.SavedItemID) return SavedName Property value from collection 1.
基本上在初始查询中,我要点击collection2,我想从collection2导航到集合1中,以返回Saved Name字段。我从未尝试过在树上导航以检索另一个对象。谁能提供一些有关如何构建此表达式的建议?
谢谢
最佳答案
您需要使用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 });