gpt4 book ai didi

c# - 试图从数据库中删除所有匹配的东西,而不仅仅是 firstordefault

转载 作者:行者123 更新时间:2023-12-04 03:22:10 24 4
gpt4 key购买 nike

这段代码有效,但它只删除了数据库中的第一个位置。我是 .Net 框架的新手。我知道我正在使用 FirstOrDefault;我不知道如何搜索数据库并删除所有符合要求的实例

MMLeagueParticipant removeThisParticipant = db.ParticipatingKids.FirstOrDefault(i=>i.ParticipantId == ParticipantId && i.sport.sport == SportsTab);
if(removeThisParticipant == null)
{
Console.WriteLine("removeThisParticopant in [IActionResults Remove] was null");
return RedirectToAction("Dashboard","Dashboard");
}
if(removeThisParticipant != null)
{
Console.WriteLine("removeThisParticopant in [IActionResults Remove] was NOT null");
db.ParticipatingKids.Remove(removeThisParticipant);
db.SaveChanges();
return RedirectToAction("Dashboard", "Dashboard");
}

我想做什么:

我想删除数据库中满足条件的所有实例。

我尝试了什么:

  • .Where() Cannot implicitly convert type 'System.Linq.IQueryable<LeagueProject.Models.MMLeagueParticipant>' to 'LeagueProject.Models.MMLeagueParticipant'.

  • .全部()。但这返回一个 bool 值

  • .Contains()。还返回了一个 bool 值

最佳答案

您可以使用 Where 而不是 FirstOrDefaultCount() 来检查集合

例子:

IEnumerable<MMLeagueParticipant> removeThisParticipant = db.ParticipatingKids.Where(i=>i.ParticipantId == ParticipantId && i.sport.sport == SportsTab);
if (removeThisParticipant.Count() != 0)
{
Console.WriteLine("removeThisParticopant in [IActionResults Remove] was NOT null");
db.ParticipatingKids.RemoveRange(removeThisParticipant);
db.SaveChanges();
return RedirectToAction("Dashboard", "Dashboard");
}
else
{
Console.WriteLine("removeThisParticopant in [IActionResults Remove] was null");
return RedirectToAction("Dashboard","Dashboard");
}

关于c# - 试图从数据库中删除所有匹配的东西,而不仅仅是 firstordefault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68323256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com