Лямбда-выражение должно выглядеть следующим образом:
var contentsAuthor = context.CmsContents
.Join(context.CmsAuthors,
content => content.AuthorId,
author => author.AuthorId,
(content, author) => new { content, author })
.Where(x => x.author.UserId == userGuid)
.Select(x => new { x.content.Title, x.content.ContentId });
И ваша, и эта версия являются запросами LINQ.Этот напрямую использует лямбды, тогда как ваша версия использует синтаксический сахар, доступный в C #.Они одинаковые.LINQ-to-Entities не имеет к этому никакого отношения.
В любом случае, если вы используете LINQ-to-Entities, ваше CmsContent
должно иметь свойство Author
, а ваш запрос уменьшится до:
var contentsAuthor = context.CmsContents
.Where(c => c.Author.UserId == userGuid)
.Select(c => new { c.Title, c.ContentId });
Поставщик LINQ-to-Entities создаст соединение для вас при преобразовании дерева выражений в запрос SQL.