gpt4 book ai didi

LINQ 查询语法到方法语法

转载 作者:行者123 更新时间:2023-12-04 22:51:14 25 4
gpt4 key购买 nike

我使用 asp.net、c# 和 EF4。

我对这个 LINQ 查询感到困惑:

  var queryContents = from a in context.CmsContentsAssignedToes
where a.UserId == myUserGuid
join cnt in context.CmsContents
on a.ContentId equals cnt.ContentId
where cnt.TypeContent == myTypeContent & cnt.ModeContent == myModeContent
select cnt;

我想在 中写下它的等价物LINQ 方法语法 检索 CmsContents。

在我的概念模型中有两种实体类型:
  • CmsContent
  • CmsContentsAssignedTo

  • 和他们的实体集:
  • CmsContents
  • CmsContentsAssignedToes

  • 和导航属性:
  • 在 CmsContent --> CmsContentsAssignedTo 返回:--> CmsContentsAssignedTo 实例
  • 在 CmsContentsAssignedTo --> CmsContent 返回:--> CmsContent 实例

  • 你知道怎么做吗?有一天我尝试了更多,但我无法解决它!

    谢谢你的时间!

    最佳答案

    等效的方法语法是:

     var queryContents = context.CmsContentsAssignedToes
    .Where(a => a.UserId == myUserGuid)
    .Join(context.CmsContents,
    a => a.ContentId,
    cnt => cnt.ContentId,
    (a, cnt) = new { a, cnt })
    .Where(z => z.cnt.TypeContent == myTypeContent &
    z.cnt.ModeContent == myModeContent)
    .Select(z => z.cnt);

    看我的 Edulinq blog post on query expressions有关其工作原理的更多详细信息,尤其是“z”来自何处(它实际上并不称为“z”;它没有名称,因为它是一个透明标识符)。

    关于LINQ 查询语法到方法语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5257671/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com