2011-07-19 13 views
2

私はLINQ、C#、EF4を使用します。Linqクエリ式をメソッド構文に変換する同等の

私はLinqでこのクエリ式を持っています。私はMethod Syntaxで同等のものを変換する必要がありますが、私はその命令に疑問を持っています。あなたは私に良い例を教えてください。ご協力いただきありがとうございます。

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; 

答えて

2

まあ、これが原因透明の識別子の複雑になるが、何かのように:あなたの返信用

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); 
+0

おかげでジョン、あなたは透明識別子によって何を意味していますか? – GibboK

+0

@GibboK:コメントで説明するのは難しいです - 私のブログ記事でクエリの翻訳について読む:http://msmvps.com/blogs/jon_skeet/archive/2011/01/28/reimplementing-linq-to-objects-part-41 -how-query-expressions-work.aspx –

+0

お返事ありがとうございました – GibboK