c# - 使用实体框架 C# 从数据库表中删除行数据
问题描述
foreach (DataGridViewRow item in this.dataGridView2.SelectedRows)
{
if (item.Index < rows_count)
{
dataGridView2.Rows.RemoveAt(item.Index);
db.COA_LedgerDetails.Remove(cOALedgerDetailsBindingSource.Current as COA_LedgerDetails);
cOALedgerDetailsBindingSource.RemoveCurrent();
db.SaveChanges();
}
}
这是我的代码。我在保存到数据库表中的 Datagridview 中添加了多行,如果我想从表中删除第二行或第三行,它每次都会删除第一行。
解决方案
您正在删除当前行。您需要将 ID(唯一 id)传递给 db.COA_LedgerDetails.Remove(uniqueId)`
推荐阅读
- javascript - 为什么 webpack 5 忽略一个文件中的 NODE_ENV,但读取另一个文件
- c# - 通过变量作为字符串的布尔类型的 NPOI C# SetCellValue()
- elixir - 会话到期后,凤凰服务器主索引页面无法正确重定向
- r - 组合多个矩阵并应用百分比和括号格式
- sql-server - 如何将列值与声明的变量进行比较
- python - 如何解决 IPython 中 Selenium 的“进程意外关闭,状态为 11”?
- java - 更新页面和单选按钮在 html 中消失
- xmonad - 在 xmonad 中,有些键绑定有效,有些则无效?
- docker - Docker Compose - 将挂载目标设置为 dockerfile 中指定的卷
- r - 从 mutate_at() 更改为 mutate(across()) 函数问题