Lambda语句保留联接,填充和分组依据

时间:2019-01-12 03:23:10

标签: c# lambda

我需要在c#中模拟一个sql查询(最好通过lambda,但是linq可以)。

我已经尝试通过linq和lambda使用各种不同的方法来进行此操作,但是,每次我最终遇到嵌套的IEnumerables混乱时,没有任何东西可以为我提供一组清晰的结果。

有什么方法可以像在一个干净的语句中那样产生此结果集?

select
u.ID as UserID,
u.Name as UserName,
uam1.SourceName,
stuff((
    select ',' + uam2.LinkCode

    from DB2..UserMapping uam2

    where uam2.UserID = u.ID and uam2.SourceName = uam1.SourceName

    for xml path('')), 1, 1, '') as Mappings

from DB1..Users u

left join DB2..UserMapping uam1
on u.id = uam1.UserID

group by u.ID, u.Name, uam1.Source, uam1.Item  

Sql Results

0 个答案:

没有答案