Linq加入时,所有团队成员都超过30岁

时间:2015-04-02 09:26:54

标签: c# linq entity-framework

我正在尝试创建一个查询,以便在所有参赛队伍加入时让所有球员都超过30岁,我想返回此球队的球队代码。 CD是荷兰语,但一些重要的事情是geboortejaar是一年出生,jaar_toetreding是加入年份。 ledenId也等于spelersnr。如果有些事情不清楚,请向我询问。

cd

这是我尝试过但它没有返回任何东西,它应该返回一个团队,因为有一个团队成员年龄在30岁以上时加入。

var team = from t in context.Team
           join wedstrijdspelers in context.Wedstrijdspeler on t.teamcode equals wedstrijdspelers.team.teamcode
           join l in context.Leden on wedstrijdspelers.spelersNr equals l.ledenId
           where SqlFunctions.DateDiff("DAY",wedstrijdspelers.leden.jaar_toetreding, wedstrijdspelers.leden.geboortejaar) > 30
           select new { t.teamcode};

            foreach (var item in team)
            {
                Console.WriteLine("team: " + item);
            }

玩家,团队和wedstrijdspeler的声明。这位玩家加入时年龄超过30岁,他是团队中唯一的人,所以查询结果应该是团队代码03。

var kees = new Leden { naam = "Kees", adres = "Kerkstraat 44", geboortejaar = DateTime.Parse("01-02-1971"), geslacht = "m", jaar_toetreding = DateTime.Parse("05-01-2014") };

var team3= new Team {teamcode=03, trainer=lid2};

var wedstrijdspeler = new Wedstrijdspeler { spelersNr = kees.ledenId, bondsNr = 095995, team = team3 };

如何修复我的查询?

0 个答案:

没有答案