我目前有一个运行良好的 LINQ 查询,但我想知道如何将其转换为 LINQ Fluent API 格式。我尝试在 Google 上搜索有关 Fluent API 的不错的教程,尝试自己学习,但似乎没有。
这是我要转换的查询:
from s in db.Sections
join f in db.Files
on s.LogoFileID equals f.ID into s_f
where s.RouteName == SectionRoute
from x in s_f.DefaultIfEmpty()
select new GameSectionVM
{
SectionID = s.ID,
GameTitle = s.Title,
LogoFileName = x.FileName,
Synopsis = s.Synopsi
}).Single();
ReSharper 给出以下转换:
(db.Sections.GroupJoin(db.Files, s => s.LogoFileID, f => f.ID, (s, s_f) => new { s, s_f })
.Where(@t => s.RouteName == SectionRoute)
.SelectMany(@t => s_f.DefaultIfEmpty(), (@t, x) => new GameSectionVM
{
SectionID = s.ID,
GameTitle = s.Title,
LogoFileName = x.FileName,
Synopsis = s.Synopsi
})).Single();
我无法保证其准确性,但它至少应该可以帮助您入门。 GroupJoin 似乎是您至少需要进行外部联接的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)