代码之家  ›  专栏  ›  技术社区  ›  Coding Flow

LINQ到SQL交叉应用

  •  11
  • Coding Flow  · 技术社区  · 16 年前

    我想在LINQ中创建一个交叉应用到用户定义的表值函数中的查询。SQL实际上非常简单,如下所示:

    SELECT *
    FROM MyTable mt
    CROSS APPLY MyTVF(mt.id)
    

    This post给出了一个LINQ查询的示例,该查询生成的sql同时包含交叉应用和外部应用,但只针对子查询,不针对tvf。 This This

    2 回复  |  直到 9 年前
        1
  •  15
  •   Joe Albahari    16 年前

    这个怎么样:

    from mt in db.MyTable
    from mf in db.MyTVF (mt.id)
    select new { mt.Blah, mf.Blah }
    
        2
  •  0
  •   adu    12 年前
        var query = ActivityRepository.Where(p => p.iAction > -1 && userIds.Contains(p.iSellerId)).GroupBy(c => c.iSellerId).Select(c => c.OrderByDescending(cc => cc.dBeginTime).First()).Select(a => new ActivityInfo
            {
                ActivityId = a.iActivityId,
                StartTime = a.dBeginTime,
                SellerId = a.iSellerId,
                EndTime = a.dEndTime,
                ActivityName = a.sName,
            });
    

    。选择(c=>c、 OrderByDescending(抄送=>cc.dBeginTime).First())

    推荐文章