小编bri*_*ley的帖子

LINQ加入前1名

我有三个对象(splistitemcollection)加入到一起工作很好,但我遇到的问题是合同对象和客户对象之间存在一对多的关系.我需要在连接期间仅抓取每个合同对象的第一个客户对象.

这是我得到的

(Contract)(Customer)
12345  John Smith
12345  Jane Smith
67890  howard Jones
67890  Mary Jones

这就是我想要的12345(只是其中一个客户,jane或john)

这是我目前正在使用的代码.

  var joinedResults = from SPListItem contracts in _contractList
                      join SPListItem customers in _customerList
                      on contracts["ContractNumber"] equals customers["ContractNumber"]  
                      join SPListItem loans in _loanList
                      on contracts["ContractNumber"] equals loans["Contract_x0020_Number"] 
                      into l from loans in l.DefaultIfEmpty()
                      select new MergedData(contracts, customers, loans);
Run Code Online (Sandbox Code Playgroud)

在SQL中,我在我的连接中定义的子查询中定义了一个select top子句,我只是无法绕过我的新手linq大脑的语法.

最后结果

  var joinedResults = from SPListItem contracts in _contractList
      join SPListItem customers in 
      // Derived subset
        (from SPListItem customers in _customerList
        group customers by …
Run Code Online (Sandbox Code Playgroud)

linq join object

5
推荐指数
1
解决办法
4359
查看次数

标签 统计

join ×1

linq ×1

object ×1