Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Linq查询表达式转换为等效的方法语法_Linq_Entity Framework - Fatal编程技术网

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

将Linq查询表达式转换为等效的方法语法,linq,entity-framework,Linq,Entity Framework,我使用LINQ、C#、EF4 我在Linq中有这个查询表达式。我需要在方法语法中转换为等效的语法,但我对指令有一些疑问。你能给我举个好例子吗。谢谢你的帮助 var myContentsForAuthor = from c in context.CmsContents join a in context.CmsAuthors on c.AuthorId equals a.AuthorId joi

我使用LINQ、C#、EF4

我在Linq中有这个查询表达式。我需要在方法语法中转换为等效的语法,但我对指令有一些疑问。你能给我举个好例子吗。谢谢你的帮助

var myContentsForAuthor = from c in context.CmsContents
                          join a in context.CmsAuthors on c.AuthorId equals a.AuthorId
                          join u in context.aspnet_Users on a.UserId equals u.UserId
                          orderby c.Title ascending 
                          where u.UserId == myUserGuid && c.IsDeleted == false && c.Title.Contains(nameSearchString)
                          select c;

由于透明的标识符,这会变得复杂,但类似于:

var myContentsForAuthor = context.CmsContents
                                 .Join(context.CmsAuthors,
                                       c => c.AuthorId
                                       a => a.AuthorId,
                                       (c, a) => new { c, a })
                                 .Join(context.aspnet_Users,
                                       z => z.a.UserId,
                                       u => u.UserId,
                                       (z, u) => new { z, u })
                                 .OrderBy(zz => zz.z.c.Title)
                                 .Where(zz => zz.u.UserId == myUserGuid &&
                                              zz.z.c.IsDeleted == false &&
                                              zz.z.c.Title.Contains(nameSearch))
                                 .Select(zz => zz.z.c);

感谢John的回复,透明标识符是什么意思?@GibboK:在评论中解释起来很难-阅读我关于查询翻译的博客文章:再次感谢Jon的时间Jon抱歉,如果我想更新.OrderBy(zz=>zz.z.c.Title),我还有一个dobt相反,c.Description或另一个动态使用字符串变量(如“sortExpression”)的字段将起作用??我用这个code.OrderBy(zz=>“zz.z.c.”+sortExpression)替换,但不起作用。你能帮我一下吗?我非常感激。谢谢你的帮助help@GibboK:那是一个完全不同的问题。听起来你在追求Dynamic Linq: