【问题标题】:How do I convert this SQL inner join query into LINQ syntax?如何将此 SQL 内部联接查询转换为 LINQ 语法?
【发布时间】:2013-01-02 19:54:23
【问题描述】:
我对 LINQ 不是很熟悉。我需要将此查询转换为 LINQ 语句,以便在我的 C# 项目中使用。
谢谢
SELECT Galleries.GalleryTitle, Media.*
FROM Galleries
INNER JOIN Media ON Galleries.GalleryID = Media.GalleryID
WHERE (Galleries.GalleryID = 100)
【问题讨论】:
标签:
sql-server
linq
entity-framework
sql-to-linq-conversion
【解决方案1】:
var query = from g in db.Galleries
join m in db.Media on g.GalleryID equals m.GalleryID into gm
where g.GalleryID == 100
select new { g.GalleryTitle, Media = gm };
属性Media 将包含已加入媒体实体的列表。此外,如果您在 Gallery 实体中定义了导航属性,则:
var gallery = db.Galleries.Include("Media")
.FirstOrDefault(g => g.GalleryID == 100);