簡體   English   中英

這個 SQL 查詢在 linq 中的等價物是什么

[英]What is the equivalent of this SQL query in linq

Select Distinct DVDTitle, CopyNumber from Actors a
inner join CastMembers b
on a.ActorNumber = b.ActorNumber
inner join DVDTitles c
on b.DVDNumber = c.DVDNumber
inner join DVDCopys d
on c.DVDNumber = d.DVDNumber;

如何在 linq 中編寫此 sql 查詢:到目前為止,我已經完成了兩次返回值的操作:

var actorList = from a in _db.Actors
                join b in _db.CastMembers
                on a.ActorNumber equals b.ActorNumber
                join c in _db.DVDTitles
                on b.DVDNumber equals c.DVDNumber
                join d in _db.DVDCopys
                on c.DVDNumber equals d.DVDNumber
                orderby c.DvdTitle
                                   

                select new Actor
                {
                     ActorNumber = a.ActorNumber,
                     ActorSurName = a.ActorSurName,
                     ActorFirstName = a.ActorFirstName,
                     DVDTitle = c.DvdTitle,
                     CopyNumber = d.CopyNumber
                };

我也試過:

var actorList_01 = actorList.Distinct(); 

但結果是一樣的。

嘗試這個

 var matchingList = actorList 
                .GroupBy(x => x.ActorNumber )
                .Select(g => g.First())
                .ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM