gpt4 book ai didi

c# - 独立于数据表存储数据行 - RowNotInTableException

转载 作者:行者123 更新时间:2023-11-30 22:37:49 27 4
gpt4 key购买 nike

我正在创建一个 HashMap,将 DataTable 中一行的 ID 字段映射到该行本身,以缩短一些经常访问的表的查找时间。现在,我不时收到 RowNotInTableException:

该行已从表中删除,没有任何数据。 BeginEdit() 将允许在此行中创建新数据。

在网上浏览了一下之后,似乎 DataRows 不喜欢不附加到 DataTable。即使 DataTable 保留在内存中(不确定 DataRows 是否保留对它的引用,但无论如何我肯定仍在缓存它),我是否可能通过将这些行全部隔离在 HashMap 中来破坏某些东西?这个错误还有什么其他原因?这个帖子 RowNotInTableException when accessing second time讨论了类似的问题,但也没有解决方案。

更新

如果这有什么不同的话,我实际上是在存储 DataRowViews。

最佳答案

DataRow 应始终附加到某个 DataTable。即使从 DataTable 中删除,该行仍然引用该表。

原因是,表的架构放在 DataTable 中而不是 DataRow 中(数据本身也是如此)。

如果你想在没有 DataTables 的情况下进行快速查找,请使用一些自己的结构而不是 DataRow。

关于c# - 独立于数据表存储数据行 - RowNotInTableException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6355082/

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