Linq将方法语法转换为查询表达式

时间:2011-07-05 10:46:21

标签: linq entity-framework linq-to-entities

最近我用Linq(Method Syntax)编写了这个查询,注意到:  g.CmsContents是Navigatiola Property。

我想知道如果可能的话,如何将此代码重写为 Linq查询表达式

var myGroupsTypesList = from g in context.CmsGroupsTypes
                        where g.CmsContents.Any(x => x.ContentId == myContentId)
                        select g;

有什么想法吗?感谢您的支持: - )

1 个答案:

答案 0 :(得分:2)

这已经是一个查询表达式了。如果您的意思是要将Any部分转换为另一个查询表达式,则不能。 Any没有查询表达式支持。

如果您的实际意思是反过来,那么您的查询相当于:

var myGroupsTypesList = context.CmsGroupsTypes
          .Where(g => g.CmsContents.Any(x => x.ContentId == myContentId));