我可以使用OrderBy <t>通过Join <t>实体订购吗?

时间:2018-02-21 10:50:27

标签: c# linq entity-framework-6

我需要将Linq查询转换为Dynamic Linq,但我对OrderBy部分有疑问。

这是Linq查询:

var q = from pp in ctx.MyEntity
        join c in sortedListString on pp.CountryId.ToString() equals c.Substring(9)
        orderby c ascending
        select pp;

正如你所看到的,我是按照联合中的entinty进行排序的 现在我需要编写相同的查询,但使用动态linq,我有:

var q = from pp in ctx.MyEntity
        select pp;

q = q.Join(
    sortedListString, 
    o => o.CountryId.ToString(), 
    i => i.Substring(9), (o, i) => o
).OrderBy(???);

我应该在OrderBy中加入什么,知道我想通过sortedListString订购?

1 个答案:

答案 0 :(得分:1)

这里不确定“动态linq”是什么意思,但使用“完整”LINQ语法相当于你的查询:

var q = ctx.MyEntity
    .Join(sortedListString, 
        pp => pp.CountryId.ToString(), 
        c => c.Substring(9), 
        (pp, c) => new { pp, c })
    .OrderBy(t => t.c)
    .Select(t => t.pp);