我使用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。
在我的概念模型中有两种实体类型:
及其实体集:
和导航属性:
你知道怎么做吗?有一天我尝试了更多,但我无法解决它!
谢谢你的时间!
答案 0 :(得分:10)
等效方法语法是:
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”;它没有名称,因为它是透明的标识符)。