gpt4 book ai didi

c# - 从 ID == ID 的 DataContext 中删除的简单 LINQ 查询

转载 作者:太空狗 更新时间:2023-10-29 22:17:07 25 4
gpt4 key购买 nike

我在我的代码隐藏中获取数据库表中条目的 ID,并试图找到一个简单的 LINQ 查询来根据 ID 删除该条目。

这是我的:

DataContext.Items.DeleteObject((Item)DataContext.Items.Where(item => item.ItemId == selectedId));

然而,这给了我一个转换错误,我想知道是否有更好的方法来完成这个?我看过类似的问题,我看到的每个答案似乎都比实际情况更复杂,所以任何建议都很好!

最佳答案

您目前有一个 IQueryable<Item> , 不和项目 - 使用 Single()获取项目本身:

var item = DataContext.Items.Where(item => item.ItemId == selectedId).Single();
DataContext.Items.DeleteObject(item);

这假定单个匹配项(ID 作为主键),否则考虑使用 First()FirstOrDefault()使用空检查代替,或者如果你有一个项目集合,只需在循环中删除它们:

var items = DataContext.Items.Where(item => item.ItemId == selectedId);
foreach(var item in items)
DataContext.Items.DeleteObject(item);

关于c# - 从 ID == ID 的 DataContext 中删除的简单 LINQ 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6551786/

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