簡體   English   中英

實體框架LINQ

[英]Entity Framework LINQ

我該如何查詢哪些俱樂部的球員最多。 因此,查詢將包含所有擁有最多球員的俱樂部。 例如,如果第一家具樂部有3個玩家,第二家具樂部有5個玩家,而第三家具樂部也有5個玩家,則查詢中將有第二和第三家具樂部。 我需要返回俱樂部名單。

public List<Club> ClubWithMostPlayers()
{
     using (var context = new dataContext())
     {
          var query = ?????

          return query.ToList();
     }
}

這些是我使用的類

public class Player
{
    public int PlayerId { get; set; }
    public string name { get; set; }
    public string surname { get; set; }
    public int yearOfBirth { get; set; }

    public virtual List<PlayerClub> playerClub { get; set; }
}

public class Club
{
    public int ClubId { get; set; }
    public string name { get; set; }
    public string stadium { get; set; }
    public int yearOfConstruction { get; set; }

    public virtual List<PlayerClub> playerClub { get; set; }
}

public class PlayerClub
{
    public int PlayerClubId { get; set; }

    public int PlayerId { get; set; }
    public int ClubId { get; set; }

    public virtual Player player { get; set; }
    public virtual Club club { get; set; }

    public int from { get; set; }
    public int to { get; set; }
    public int appearances { get; set; }
}

我知道如何用SQL而不是LINQ做到這一點

謝謝你的幫助

如何將查詢分為兩部分。

// get number of maximum number of players in one club
var count = context.Clubs.Select(c => c.playerClub.Count()).Max();

// get clubs with specific number of players
var query = context.Clubs
    .Where(c => c.playerClub.Count() == count);

暫無
暫無

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

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